tez/yii2-cms-module

Yii 2 小型 CMS 模块

安装: 270

依赖: 1

建议者: 0

安全: 0

星标: 7

关注者: 3

分支: 3

开放问题: 0

类型:yii2-extension

dev-master 2016-01-29 09:02 UTC

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/中找到覆盖率。