zhangyc / yii2-setting
一个基于 funson86/yii2-setting 的 yii2 设置模块,添加了一些功能。
dev-master
2019-11-26 11:34 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-26 22:51:24 UTC
README
为其他应用程序提供的 Yii2 设置,尤其是为 [Yii2 Adminlte]
添加 3 个功能
- 添加 textarea 类型:原始的 textarea 类型只有两种类型,输入和选择,当你想输入长文本时,输入框不适用。现在,添加 textarea 类型。所以类型有
textarea
、text
、password
、select
。 - 隐藏父节点:当父节点的值为 "hidden" 时,将不会在选项卡中显示;
- 从缓存中查询:原始查询是从数据库(如 mysql)中查询设置,可能会变慢,现在可以从缓存中查询。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
php composer.phar require zhangyc/yii2-setting "dev-master"
或
"zhangyc/yii2-setting": "dev-master"
将其添加到您的 composer.json
文件的 require 部分。
使用方法
安装扩展后,只需在您的代码中使用它即可:
迁移
运行迁移
yii migrate --migrationPath=@zhangyc310/setting/migrations
配置 /common/config/main.php 以使用 Yii::$app->setting
'components' => [ 'setting' => [ 'class' => 'zhangyc310\setting\Setting', ], ],
配置后台模块在 backend/config/main.php 以管理设置
'modules' => [ 'setting' => [ 'class' => 'zhangyc310\setting\Module', 'controllerNamespace' => 'zhangyc310\setting\controllers' ], ],
配置后台
后台: http://you-domain/backend/web/setting
添加您的设置
设置支持 3 种类型的设置:文本、密码、选择。您可以通过迁移或手动插入到 setting
表中添加您的设置。
INSERT INTO `setting` (`id`, `parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order`) VALUES (11, 0, 'info', 'group', '', '', '', '50'), (21, 0, 'basic', 'group', '', '', '', '50'), (31, 0, 'smtp', 'group', '', '', '', '50'), (1111, 11, 'siteName', 'text', '', '', 'Your Site', '50'), (1112, 11, 'siteTitle', 'text', '', '', 'Your Site Title', '50'), (1113, 11, 'siteKeyword', 'text', '', '', 'Your Site Keyword', '50'), (2111, 21, 'timezone', 'select', '-12,-11,-10,-9,-8,-7,-6,-5,-4,-3.5,-3,-2,-1,0,1,2,3,3.5,4,4.5,5,5.5,5.75,6,6.5,7,8,9,9.5,10,11,12', '', '8', '50'), (2112, 21, 'commentCheck', 'select', '0,1', '', '1', '50'), (3111, 31, 'smtpHost', 'text', '', '', 'localhost', '50'), (3112, 31, 'smtpPort', 'text', '', '', '', '50'), (3113, 31, 'smtpUser', 'text', '', '', '', '50'), (3114, 31, 'smtpPassword', 'password', '', '', '', '50'), (3115, 31, 'smtpMail', 'text', '', '', '', '50');
使用您的设置
一旦您在后台设置了值,只需通过以下代码访问您的设置:
echo Yii::$app->setting->get('siteName');