larams/cms

Larams - Laravel 5+的内容管理系统

2.0.61 2024-05-15 06:22 UTC

This package is auto-updated.

Last update: 2024-09-15 06:55:55 UTC


README

安装

创建新项目有两种方式。如果您只是创建新的git仓库,请从干净安装开始。如果您已经从git仓库克隆了现有源,请继续使用第二种方法。

1. 干净安装

您可能需要在所有composer命令前添加COMPOSER_MEMORY_LIMIT=-1

  • composer create-project --prefer-dist laravel/laravel {{project_folder}}

  • composer require larams/cms

  • .env文件中输入数据库登录信息(如果文件不存在,从.env.example创建一个)

  • 删除docker-compose.yml文件(它用于Laravel Sail)

  • database/migrations中删除2014年的迁移

  • php artisan vendor:publish并选择[10] ....\LaramsServiceProvider

  • composer dump-autoload

  • 修改docker/httpd/vhosts.conf并将ServerName变量更改为与.env文件中的XDEBUG_SERVER_NAME变量匹配

  • 如果您在远程服务器上使用docker,请遵循以下指南

  • 使用Sequel Pro或其他工具创建空数据库

  • php artisan migrate

  • php artisan db:seed --class=StructureTypeSeeder

  • php artisan db:seed --class=PermissionsTableSeeder

  • php artisan db:seed --class=UsersTableSeeder

  • php artisan db:seed --class=StructureItemSeeder

  • 如果您需要管理界面:转到public文件夹,创建bower.json并包含以下内容,然后运行bower install

  • 如果您使用的是标准CMS:在app/Http/Kernel.php中为“web”添加cms中间件类 \Larams\Cms\Http\Middleware\LocaleDetection::class, \Larams\Cms\Http\Middleware\LayoutBuilder::class

  • 将中间件添加到routeMiddleware 'auth.user' => \App\Http\Middleware\Authenticate::class, 'auth.admin' => \App\Http\Middleware\Authenticate::class, 'auth.custom' => \Larams\Cms\Http\Middleware\AuthenticateApi::class,

  • config/auth.php中将用户模型更改为\Larams\Cms\Model\User::class

  • 转到/admin链接并尝试使用“dev”用户和生成的密码登录

  • php artisan passport:install

  • config/auth.php中guards.api.driver更改为passport

在远程服务器上配置Docker

  • .rsync-exclude中删除storage/..docker/..文件夹
  • 运行autosync {project_folder}
  • 运行xdebug
  • 进入项目文件夹/srv/www/{project_folder}
  • 运行docker-compose up -d
  • .rsync-exclude恢复到其先前状态
  • 运行docker exec -it {container_name} bash
  • 返回到您上次离开的列表并继续在docker中执行下一个命令

2. 当克隆git仓库时

  • 克隆文件
  • 进入项目文件夹并运行composer install --no-scripts
  • .env文件中输入数据库登录信息(如果文件不存在,从.env.example创建一个)
  • php artisan key:generate
  • php artisan migrate
  • php artisan db:seed --class=StructureTypeSeeder
  • php artisan db:seed --class=PermissionsTableSeeder
  • php artisan db:seed --class=UsersTableSeeder
  • php artisan db:seed --class=StructureItemSeeder
  • 转到根项目文件夹并运行npm install
  • 转到sample.domain.com/admin链接并尝试使用“dev”用户和标准密码登录

额外的.env变量

CONTAINER_NAME_API=server-api
CONTAINER_NAME_DB=server-db

MYSQL_CONTAINER_PORT=3306
MYSQL_ROOT_PASSWORD=

XDEBUG_HOST=docker.for.mac.localhost  # Used for mac
XDEBUG_HOST=172.17.0.1   # Used for docker in remote server
XDEBUG_SERVER_NAME=api.dev.domain.lt

用法

  • 为标题页面创建resources/views/index.blade.php
  • 为每个所需的内容类型创建resources/views/types/text.blade.php
  • 您可以使用app/Providers/LayoutServiceProvider.php来处理布局中使用的常用内容

Sass

  • webpack.mix.js中的postCss更改为sass
  • npm i sass-loader --save
  • npm i sass --save

Bower.json

{
  "name": "bower_components",
  "authors": [
    "Tomas Talandis <tomas@talandis.lt>"
  ],
  "description": "",
  "main": "",
  "moduleType": [],
  "license": "MIT",
  "homepage": "",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ],
  "dependencies": {
    "bootstrap": "~3.3.5",
    "bootstrap-datepicker": "~1.5.0",
    "ckeditor": "~4.5.4",
    "dropzone": "~4.2.0",
    "jquery": "~2.1.4",
    "jquery-ui": "~1.11.4",
    "jstree": "~3.2.1",
    "slick-carousel": "^1.8.1",
    "chosen": "^1.8.7"
  }
}