rocket-php-lab/yii2-bridge-core

简单的管理员面板,适用于爱好者

此包的规范存储库似乎已消失,因此已冻结此包。

安装: 348

依赖者: 2

建议者: 0

安全: 0

类型:项目

v0.0.20 2020-10-28 11:06 UTC

README

Yet another admin panel

简短介绍和俄语教程

Bridge为您提供了简单的内容管理系统,该系统利用了经过最佳生产测试的组件和插件为Yii2。

安装

通过运行以下命令将其作为Composer依赖项添加

$ composer require yii2-bridge/core

在运行迁移之前,请务必配置模块(以下说明)。

配置

将模块声明添加到您的web配置文件中

<?php

return [
    // ... your config
    'modules' => [
        'admin' => [
            'class' => '\Bridge\Core\BridgeModule',
            // Add your projects modules here to keep right routing.
            'modules' => [
                'customModule' => ['class' => '\app\modules\your\CustomModule']
            ],
            // Add menu item of your content management module to menu
            'menu' => [
                [
                    'title' => 'Content',
                    'url' => ['/admin/content/default/index'],
                    'active' => ['module' => 'content'],
                    'icon' => 'list'
                ]
            ],
            // Alternatively you can define different menu items for different
            // roles. In that case it will override default menu items, such as
            // settings, users and dashboard
            'composeMenu' => function ($user, $roles, $authManager) {
                 /**
                  * @var \yii\web\User $user 
                  * @var \Da\User\Model\Role[] $roles
                  * @var \Da\User\Component\AuthDbManagerComponent $authManager 
                  */
                 if (isset($roles['admin'])) {
                     return require __DIR__ . '/menu-admin.php';
                 }
                 if ($user->can('editor')) {
                     return require __DIR__ . '/menu-editor.php';
                 }
                 if (in_array($user->id, $authManager->getUserIdsByRole('manager'))) {
                     return require __DIR__ . '/menu-manager.php';
                 }
                 // Or any other available method
                 
                 return __DIR__ . '/menu-default.php';
            }
        ]
    ],
    'bootstrap' => [        
        'admin' // add module id to bootstrap for proper aliases and url routes binding
    ]
];

对于控制台配置,以便运行迁移

<?php
return [
    // ... your config
    'modules' => [
        'admin' => ['class' => '\Bridge\Core\BridgeModule']
    ],
    'bootstrap' => [        
        'admin' // add module id to bootstrap for proper aliases and url routes binding
    ]
]; 

设置

安装和配置设置(包括数据库)后,您应该在vendor文件夹中拥有安装可执行文件。您可以使用单个命令运行所需的所有迁移

$ ./vendor/bin/bridge-install

警告!此命令带有--interactive=0标志,这意味着它不会请求确认。

用法

运行上述每一步后,您应该在/admin路由上运行管理员面板。剩下要做的就是运行命令来创建用户。

创建第一个用户

运行以下命令以生成用户

$ php yii user/create EMAIL USERNAME PASSWORD ROLE 

因此,为管理员面板创建具有管理员角色的用户的正确命令是

$ php yii user/create admin@sitename.kz admin PASSWORD admin

Gii

Bridge提供的Gii在基本gii的基础上进行了一些改进。当生成以db字段结尾为imagefile的模型时,它会自动添加相应的上传行为。您可以通过在生成器界面中单击复选框来关闭这些行为。

此外,它还具有Bridge CRUD生成器,该生成器将生成必要的字段输入,并将其以美观的方式显示在索引表中。

开发和测试

配置您的.env(参看.env.example)。使用以下命令运行迁移

$ ./bin/bridge-install-dev

Bridge附带用于开发和测试的console应用程序,位于bin文件夹中。您可以直接执行它

$ php bin/yii.php CONTROLLER/ACTION [params]

使用以下命令测试包

$ ./vendor/bin/phpunit

主题

管理员界面的颜色调色板位于Bridge\Core\Assets\BridgeTheme。需要创建一个新的类并从Bridge\Core\Assets\BridgeTheme继承,并更改公共(需要的)变量。

同样,还需要在配置中重定义类(main.php)

'web' => [
    'modules' => [
        'admin' => [
            'themeClass' => MyBridgeTheme::class,
            ...
        ],
        ...
    ],
    ...
]