tez / yii2-cms-module
Yii 2 小型 CMS 模块
Requires
- 2amigos/yii2-editable-widget: *
- creocoder/yii2-nested-sets: *
- fortawesome/font-awesome: *
- goodby/csv: *
- kartik-v/yii2-sortable: dev-master
- kartik-v/yii2-widgets: dev-master
- mihaildev/yii2-ckeditor: dev-master
- mihaildev/yii2-elfinder: *
- nickcv/yii2-mandrill: *
- robregonm/yii2-pdf: dev-master
- sammaye/yii2-audittrail: dev-master
- yiisoft/yii2: dev-master
This package is not auto-updated.
Last update: 2020-01-10 15:14:07 UTC
README
CMS 模块
CMS 模块是建立在 Yii 2 上的 CMS 的起点。它使用了先进的 yii2 模板。它为您的 Yii2 网站提供用户认证、注册和 RBAC 支持。
安装
注意
您如何运行 composer 取决于您如何安装它。我通常将其安装为 /usr/local/bin/composer,这样我就可以在命令行中直接运行 "composer"。您可能需要运行 "php composer.phar"。
步骤 1
安装先进的 yii2 模板。您可以在以下位置找到说明: https://github.com/yiisoft/yii2-app-advanced
简而言之,需要以下命令
composer global require "fxp/composer-asset-plugin:1.0.0-beta4"
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced advanced
cd advanced
init --env=Production
步骤 2
安装模块。安装此扩展的首选方式是通过 composer。
在您上面创建的 "advanced" 目录中,运行以下命令
composer update
composer require tez/yii2-cms-module "dev-master"
用法
安装扩展后,修改 backend\config\main.php 应用程序配置以包含
return [ 'modules' => [ ... 'core' => [ 'class' => 'core\Module', 'attemptsBeforeCaptcha' => 3, // Optional ], ... ], ... 'components' => [ ... 'user' => [ 'class' => 'core\components\User', 'enableAutoLogin' => true, ], 'authManager' => [ 'class' => 'core\components\DbManager' ], 'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, ], 'view' => [ 'theme' => [ 'pathMap' => [ '@core/views/layouts' => '@core/views/layouts', '@core/views' => ['@app/views', '@core/views'], ], 'baseUrl' => '@web/', ], ], ... ], 'controllerMap' => [ 'site' => [ 'class' => 'core\controllers\SiteController', ], 'elfinder' => [ 'class' => 'mihaildev\elfinder\Controller', 'access' => ['@'], //глобальный доступ к фаил менеджеру @ - для авторизорованных , ? - для гостей , чтоб открыть всем ['@', '?'] 'disabledCommands' => ['netmount'], //отключение ненужных команд https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#commands 'roots' => [ [ 'class' => 'core\components\FrontendPath', 'path' => '../../frontend/web/files/images', 'url' => 'http://frontend.yii2/files/images', 'name' => 'Public' ], ] ] ], ];
注意
我通过只保留一个修改后的文件在 deploy/backend+config+main.php 中来实现这一点。可以通过运行 vendor/tez/yii2-cms-module/appconfig.sh 将其复制到适当的位置。
使用新的 CRUD 生成器,在 backend/config/main-local.php 中替换以下部分
$config['modules']['gii'] = 'yii\gii\Module';
为
$config['modules']['gii'] = [ 'class' => 'yii\gii\Module', 'generators' => [ 'crud' => [ 'class' => 'core\gii\crud\Generator', 'templates' => ['crud' => '@core/gii/crud'] ], 'model' => [ 'class' => 'core\gii\model\Generator', 'templates' => ['model' => '@core/gii/model/default'] ], ] ];
注意
如果您的环境是生产环境,则此行不存在。它只在开发环境中存在。在生产环境中,是否需要添加这些行?如果需要,它们应该在哪个位置?
将 .htaccess 从 vendor/tez/yii2-cms-module 复制到 frontend/web/ 和 backend/web/
cp vendor/tez/yii2-cms-module/.htaccess backend/web/ cp vendor/tez/yii2-cms-module/.htaccess frontend/web/
在 common/config/bootstrap 中添加
Yii::setAlias('core', dirname(dirname(__DIR__)) . '/vendor/tez/yii2-cms-module'); Yii::setAlias('theme', dirname(dirname(__DIR__)) . '/vendor/tez/yii2-brain-theme');
注意
我通过在上文所述的 deploy/ 中保留修改后的文件副本来实现这一点。
在 backend/config/params.php 和/或 backend/config/params-local.php 中定义 frontend-url。这是文件选择器预览的功能。将其更改为与您的域名匹配
return [ ... 'frontend-url' => 'http://frontend.yii2/', ... ];
注意
请定义实际需要在这里执行的操作。是否需要修改这两个文件?如果是这样,那么是哪一个?您真的在配置中硬编码 URL 吗?
在 common/config/params.php 中定义 mandrill 的详细信息以及通知的标志。将其更改为您的详细信息。
return [ ... 'mandrill'=>[ 'key' => 'xxxx', 'from_email' => 'admin@.....', 'from_name' => 'No Reply' ], 'logo' => 'http://2ezweb.net/themes/default/images/logo.png', // the logo will be merged into the email notification. ... ];
注意
真的吗?再次硬编码 URL?需要修复。
在 backend\assets\AppAsset.php 中,依赖部分应如下所示
public $depends = [ 'yii\web\YiiAsset', 'yii\bootstrap\BootstrapAsset', 'theme\assets\BrainAsset', 'theme\assets\CustomAsset', ];
注意
我像之前一样保留了一个修改后的文件副本。
运行迁移
$ php yii migrate/up --migrationPath=@core/migrations
注意
不,不起作用。这里还需要什么?
许可证
认证模块在BSD-3许可证下发布。有关详细信息,请参阅附带的LICENSE.md
文件。
URLs
- 登录:
yourhost/core/default/login
用户名:webmaster@2ezweb.com.au 密码:admin - 注销:
yourhost/core/default/logout
- 重置密码:
yourhost/core/default/request-password-reset
- 用户管理:
yourhost/core/administrator/
测试
进入vendor/tez/yii2-cms-module/tests/codeception/backend/
,运行codecept build
以初始化测试。然后运行codecept run functional
来运行实际测试。
您可以通过运行codecept run functional --coverage-html
来获取代码覆盖率。您可以在vendor/tez/yii2-cms-module/tests/codeception/backend/_output/coverage/
中找到覆盖率。