laravel-5-simple-cms, 面向初学者的Laravel 5内容管理

分享于 

12分钟阅读

GitHub

  繁體 雙語
Simple Laravel 5 content management system for starters.
  • 源代码名称:laravel-5-simple-cms
  • 源代码网址:http://www.github.com/ozdemirburak/laravel-5-simple-cms
  • laravel-5-simple-cms源代码文档
  • laravel-5-simple-cms源代码下载
  • Git URL:
    git://www.github.com/ozdemirburak/laravel-5-simple-cms.git
    Git Clone代码到本地:
    git clone http://www.github.com/ozdemirburak/laravel-5-simple-cms
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/ozdemirburak/laravel-5-simple-cms
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Laravel 5简单 CMS

    面向初学者的Laravel 5.5内容管理。 对于 5.1.5.2.5.3和 5.4,检查发行版本。

    目录

    插件功能:

    • 管理面板
      • 基于AdminLTE主题
      • Google Analytics API集成仪表板获取的统计信息
      • 语言管理。
      • 类别和项目管理
      • 使用嵌套集进行页面管理
      • 面向服务器端的数据表
      • TinyMCE所见即所得编辑器,带有照片上传功能
    • 前端
      • 查看文章,类别,页面
      • 多语言支持

    快速入门:

    克隆这个存储库并安装依赖。

    
    $ git clone https://github.com/ozdemirburak/laravel-5-simple-cms.git CUSTOM_DIRECTORY && cd CUSTOM_DIRECTORY
    
    
    $ composer install
    
    
    
    

    .env.example 重命名为 .env,然后创建数据库并编辑 .env 文件。

    
    $ mv. env.example. env
    
    
    $ vi. env
    
    
    
    

    生成应用程序密钥并迁移表,然后种子。

    
    $ php artisan key:generate
    
    
    $ php artisan migrate
    
    
    $ php artisan db:seed
    
    
    
    

    安装 node 和npm遵循这个链接插件中的一种技术来创建和编译应用程序的资产。

    
    $ npm install
    
    
    $ npm run production
    
    
    
    

    最后,为应用程序提供服务。

    
    $ php artisan serve
    
    
    
    

    从浏览器打开 http://localhost:8000 插件。 要访问管理面板,请点击浏览器中的链接 http://localhost:8000/admin 插件。 应用程序带有带有电子邮件地址 admin@admin.com123456的默认用户。

    安装指南:

    步骤 1: 下载存储库

    使用 git clone 克隆存储库: git clone https://github.com/ozdemirburak/laravel-5-simple-cms.git CUSTOM_DIRECTORY 或者通过 zip插件安装,并提取到你想要的任何文件夹。

    步骤 2: 安装依赖项

    如果你没有安装 composer,则需要安装composer依赖项,如果你没有安装 composer,那么将按照以下说明操作。 然后在 CUSTOM_DIRECTORY 中运行 composer install

    按照以下方法之一,安装 node 和 npm,其中之一是在这个链接中解释的技术。 然后,要安装 Laravel 项目依赖项,运行 npm install。 finally 将javascript和样式文件组合在一起运行 npm run dev

    .env.example 文件重命名为 .env,并将变量更改为你自己的变量。 如果有任何空格的变量,双引号,例如,如果有一个等于,的变量,则使用"无名氏"。

    最后,若要生成唯一的应用程序键,请运行 php artisan key:generate

    步骤 3: 创建数据库

    步骤 4: 设置配置

    打开 .env 文件并更改与你自己的配置对应的字段。

    所有带有 DB_ 前缀的变量都与你的数据库配置有关。

    你需要通过使用Gmail客户端来发送电子邮件,如果你的Gmail用户名没有使用 @gmail.com 和密码,则需要更改 MAIL_USERNAME 变量,MAIL_FROM_ADDRESS 是你的Gmail帐户,是你注册到该Gmail帐户的你的帐户。

    要使用分析 API,请按照下面的说明详细说明

    步骤 5: 迁移和种子

    要迁移数据库表,运行 php artisan migrate 并使用一些数据来配置数据库,运行 php artisan db:seed

    步骤 6: 服务器

    要为应用程序服务,可以使用 php artisan serve,然后从浏览器打开 http://localhost:8000 插件。 要访问管理面板,请点击浏览器中的链接 http://localhost:8000/admin 插件。 应用程序带有带有电子邮件地址 admin@admin.com123456的默认用户。

    用户指南

    如何创建新资源

    我们假设我们希望为果果创建一个新资源,从我们的管理面板中,提供它的标题和内容。

    
    $ php artisan cms:generate fruit
    
    
    
    

    编辑 database/migrations/****_create_fruits_table.php 迁移文件。

    <?phpuseIlluminateDatabaseSchemaBlueprint;useIlluminateDatabaseMigrationsMigration;classCreateFruitsTableextendsMigration{publicfunctionup() {Schema::create('fruits', function (Blueprint$table) {$table->increments('id');$table->unsignedInteger('language_id');$table->string('slug')->index();$table->string('title');$table->text('content');$table->foreign('language_id')->references('id')->on('languages');$table->timestamps(); }); }publicfunctiondown() {Schema::dropIfExists('fruits'); }}

    然后迁移它。

    
    $ php artisan migrate
    
    
    
    

    之后,编辑 resources/lang/LANGUAGE_CODE/resources.php 文件并为新创建的资源添加翻译字符串。

    'fruit'=> ['all'=>'All Fruits','create'=>'Create a Fruit','edit'=>'Edit a Fruit','fields'=> ['content'=>'Content','language_id'=>'Language''title'=>'Title' ],'index'=>'Fruits','show'=>'Show a Fruit'],

    完成语言部分后,检查 app 模型,该模型位于文件夹中作为 Fruit.php。 在使用 slugs 时,将模型配置如下。

    <?phpnamespaceApp;useAppBaseSluggableModel;classFruitextendsSluggableModel {protected$fillable= ['content', 'language_id', 'title'];publicfunctionlanguage() {return$this->belongsTo(Language::class); }}

    因此,添加与引用我们的水果的语言模型的关系。

    publicfunctionfruits(){return$this->hasMany(Fruit::class);}

    Http/Controllers/Api/DataTables 文件夹中编辑FruitDataTable控制器。

    <?phpnamespaceAppHttpControllersApiDataTables;useAppBaseControllersDataTableController;useAppFruit;classFruitDataTableextendsDataTableController{protected$model=Fruit::class;protected$columns= ['title'];publicfunctionquery() {$fruits=Fruit::whereLanguageId(session('current_lang')->id);return$this->applyScopes($fruits); }}

    然后配置位于文件夹子文件夹管理员管理中的控制器 FruitController.php 文件,如下所示:

    <?phpnamespaceAppHttpControllersAdmin;useAppBaseControllersAdminController;useAppFruit;useAppHttpControllersApiDataTablesFruitDataTable;useAppHttpRequestsAdminFruitRequest;classFruitControllerextendsAdminController{publicfunctionindex(FruitDataTable$dataTable) {return$dataTable->render($this->viewPath()); }publicfunctionstore(FruitRequest$request) {return$this->createFlashRedirect(Fruit::class, $request); }publicfunctionshow(Fruit$fruit) {return$this->viewPath('show', $fruit); }publicfunctionedit(Fruit$fruit) {return$this->getForm($fruit); }publicfunctionupdate(Fruit$fruit, FruitRequest$request) {return$this->saveFlashRedirect($fruit, $request); }publicfunctiondestroy(Fruit$fruit) {return$this->destroyFlashRedirect($fruit); }}

    Requests/Admin 文件夹中打开 FruitRequest.php 文件,并将它的配置为 below 或者你希望的方式,。

    <?phpnamespaceAppHttpRequestsAdmin;useAppHttpRequestsRequest;classFruitRequestextendsRequest {publicfunctionrules() {return ['content'=>'required','language_id'=>'required|integer','title'=>'required|min:3' ]; }}

    然后打开位于 app/Forms 文件夹中的FruitsForm.php 文件并配置它。

    <?phpnamespaceAppFormsAdmin;useAppBaseFormsAdminForm;classFruitsFormextendsAdminForm{publicfunctionbuildForm() {$this->add('language_id', 'choice', ['choices'=>$this->data,'label'=> trans('admin.fields.fruit.language_id') ])->add('title', 'text', ['label'=> trans('admin.fields.fruit.title') ])->add('content', 'textarea', ['label'=> trans('admin.fields.fruit.content') ]);$this->addButtons(); }}

    将水果路线添加到 routes/admin.php 文件中。

    Route::resource('fruit', 'FruitController');

    打开 Providers 文件夹中的RouteServiceProvider.php 文件并绑定fruit模型。

    Route::model('fruit', AppFruit::class);

    最后,将水果资源添加到菜单中。 为此,打开位于 Http/Middleware 文件夹中的MakeMenu 中间件,并将行 below 打开到 makeAdminMenu 函数。

    $this->add('fruit', 'apple');

    现在你可以在管理面板中管理你的水果资源了。

    :如何部署

    我已经详细地展示了在我的博客中使用Git和 Capistrano 进行部署所需的所有步骤。 你可以检查它: https://burakozdemir.co.uk/article/deploying-laravel-projects-with-git-and-capistrano-to-nginx-server

    屏幕截图

    IndexSingle postAdmin loginAdmin dashboardAdmin dashboard worldmapAdmin datatablesAdmin nested setsAdmin settings

    许可证

    这是免费软件发布在MIT许可条款下


    STA  MAN  SYS  系统  Laravel  Laravel 5  
    相关文章