execut/yii2-settings

用于管理设置(CRUD)的Yii2模块

安装: 397

依赖: 2

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 1

开放问题: 4

类型:yii2-extension

0.11.1 2021-12-02 09:48 UTC

README

这是一个用于通过管理CRUD设置来配置应用的Yii2模块。该模块可以单独使用,也可以作为execut/yii2-cms的一部分使用。

安装

建议通过 composer 安装此扩展。

安装

运行以下命令之一:

$ php composer.phar require execut/yii2-settings

或将其添加到 composer.json 文件的 require 部分:

"execut/yii2-settings": "dev-master"

配置

将模块引导添加到后端应用程序配置

    'bootstrap' => [
    ...
        'settings' => [
            'class' => \execut\settings\bootstrap\Backend::class,
        ],
    ...
    ],

将模块引导添加到通用应用程序配置

    'bootstrap' => [
    ...
        'settings' => [
            'class' => \execut\settings\bootstrap\Common::class,
        ],
    ...
    ],

在控制台应用程序配置中添加模块引导

    'bootstrap' => [
    ...
        'settings' => [
            'class' => \execut\settings\bootstrap\Console::class,
        ],
    ...
    ],

通过yii命令应用迁移

./yii migrate/up --interactive=0

配置完成后,模块应通过以下路径打开:settings/backend

模块导航

您可以通过 execut/yii2-navigation 在您的布局中输出模块的导航

    echo Nav::widget([
        ...
        'items' => \yii\helpers\ArrayHelper::merge($menuItems, \yii::$app->navigation->getMenuItems()),
        ...
    ]);
    NavBar::end();

    // Before standard breadcrumbs render breadcrumbs and header widget:
echo \execut\navigation\widgets\Breadcrumbs::widget();
echo \execut\navigation\widgets\Header::widget();
echo Breadcrumbs::widget([
    'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]);

有关 execut/yii2-navigation 模块的更多信息,请参阅其 文档

用法

设置管理

Settings list

该部分包含以下列

例如,我们想要管理站点名称。为此,添加一个键为site_name的设置

Setting edit

在网站上,我们可以使用以下行显示此参数

<?= \yii::$app->settings->get('company-name') ?>

增加功能

要向模块内添加更多功能,您可以创建基于接口 execut\settings\Plugin 的插件,并通过通用引导依赖配置将其连接到模块

    'bootstrap' => [
    ...
        'settings' => [
            'class' => \execut\settings\bootstrap\Common::class,
            'depends' => [
                'modules' => [
                    'settings' => [
                        'plugins' => [
                            'own-plugin' => [
                                'class' => $pluginClass // You plugin class here
                            ],
                        ],
                    ]
                ],
            ],
        ],
    ...
    ],

它有以下方法