yeesoft/yii2-yee-settings

Yee CMS 设置模块

0.1.0 2017-03-01 11:20 UTC

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

截图

Flickr - Yee CMS 设置模块