yeesoft / yii2-yee-settings
Yee CMS 设置模块
0.1.0
2017-03-01 11:20 UTC
Requires
- yeesoft/yii2-yee-core: ~0.1.0
This package is auto-updated.
Last update: 2022-03-29 00:25:22 UTC
README
##Yee CMS - 设置模块
####设置管理模块
此模块是 Yee CMS(基于 Yii2 框架)的一部分。
设置模块允许您轻松创建设置页面。模块安装后,将创建一个通用设置页面。此页面包含如下选项:站点标题
、时间格式
和日期格式
、时区
等。
此外,您还可以使用设置组件。它允许您从应用程序中获取和设置设置。
安装
运行以下命令之一:
composer require --prefer-dist yeesoft/yii2-yee-settings "~0.1.0"
或者
"yeesoft/yii2-yee-settings": "~0.1.0"
将其添加到您的 composer.json
文件的 require 部分。
运行迁移
yii migrate --migrationPath=@vendor/yeesoft/yii2-yee-settings/migrations/
配置
- 在您的后端配置文件中
'modules'=>[ 'settings' => [ 'class' => 'yeesoft\settings\SettingsModule', ], ],
- 通用配置文件中的组件设置
'components'=>[ 'settings' => [ 'class' => 'yeesoft\components\Settings' ], ],
用法
######获取设置
当您尝试获取某些设置时,可以使用数组或点分字符串来分隔组和键。
$setting = Yii::$app->settings->get('general.title');
等同于
$setting = Yii::$app->settings->get('general.title');
######设置设置
这里您可以使用与上一个案例相同的参数。
Yii::$app->settings->set('general.title','My Site');
设置组件选项
使用这些选项来配置设置组件
-
cache
- 缓存对象或缓存对象的应用程序组件 ID。如果可用,将通过此缓存对象缓存设置。 -
cacheKey
- 缓存组件使用的键。
创建自己的设置页面
- 将新设置插入到
settings
表中
INSERT INTO `setting`(`group`,`key`,`value`,`description`) VALUES ('image','width','120','Default images width'), ('image','height','90','Default images height');
- 通过扩展 yeesoft\settings\models\BaseSettingsModel 类创建设置组的设置模型。此模型应包含具有设置组名称的
GROUP
常量。此外,模型应包含与设置名称匹配的属性列表。在模型中,您可以指定字段的规则。
namespace backend\models; class ImageSettings extends \yeesoft\settings\models\BaseSettingsModel { const GROUP = 'image'; public $width; public $height; public function rules() { return [ [['width', 'height'], 'required'], [['width', 'height'], 'integer'], ]; } }
- 创建用于显示模型表单的视图文件
backend/views/image-settings/index.php
。
use backend\models\ImageSettings; use yeesoft\settings\assets\SettingsAsset; use yii\helpers\Html; use yeesoft\widgets\ActiveForm; /* @var $this yii\web\View */ /* @var $model backend\models\ImageSetting */ /* @var $form yeesoft\widgets\ActiveForm */ SettingsAsset::register($this); ?> <div class="setting-index"> <h3 class="lte-hide-title page-title">Image Settings</h3> <div class="setting-form"> <?php $form = ActiveForm::begin([ 'id' => 'setting-form', 'validateOnBlur' => false, 'fieldConfig' => [ 'template' => "<div class=\"settings-group\"><div class=\"settings-label\">{label}</div>\n<div class=\"settings-field\">{input}\n{hint}\n{error}</div></div>" ], ]) ?> <?= $form->field($model, 'width')->textInput(['maxlength' => true])->hint($model->getDescription('width')) ?> <?= $form->field($model, 'height')->textInput(['maxlength' => true])->hint($model->getDescription('height')) ?> <?= Html::submitButton('Save', ['class' => 'btn btn-primary']) ?> <?php ActiveForm::end(); ?> </div> </div>
- 通过扩展 yeesoft\settings\controllers\SettingsBaseController 类创建设置控制器。控制器应包含
$modelClass
和$viewPath
属性,它们包含最近创建的模型和视图。
namespace backend\controllers; class ImageSettingsController extends \yeesoft\settings\controllers\SettingsBaseController { public $modelClass = '\backend\models\ImageSettings'; public $viewPath = '@backend/views/image-settings/index'; }
- 打开您的设置页面:
yoursite.com/admin/image-settings