标签:yii
一:GII布局设置
如果想要修改下面页眉标题该怎么操作。

在/views/layouts/ 目录下有一个main.php文件 修改此文件内的布局参数进行设置。
echo Nav::widget([ ‘options‘ => [‘class‘ => ‘navbar-nav navbar-right‘], ‘items‘ => [ [‘label‘ => ‘Home‘, ‘url‘ => [‘/site/index‘]], [‘label‘ => ‘系统设置‘, ‘url‘ => [‘/config/index‘]], [‘label‘ => ‘Contact‘, ‘url‘ => [‘/site/contact‘]], Yii::$app->user->isGuest ? [‘label‘ => ‘Login‘, ‘url‘ => [‘/site/login‘]] : [‘label‘ => ‘Logout (‘ . Yii::$app->user->identity->username . ‘)‘, ‘url‘ => [‘/site/logout‘], ‘linkOptions‘ => [‘data-method‘ => ‘post‘]], ], ]); 此段为页眉修改处,在widget数组内有 option 和 items 两个数组。数组中的label指定的页眉的内容,url指定的进入的页面。此处我们在这里做以下修改查看效果。 [‘label‘ => ‘主页‘, ‘url‘ => [‘/site/index‘]], [‘label‘ => ‘系统设置‘, ‘url‘ => [‘/config/index‘]], [‘label‘ => ‘Contact‘, ‘url‘ => [‘/site/contact‘]], 此处指定的系统设置url路径是/config/index 相当于/views/config/index.php

二:系统设置config表
进入config表是这样的配置页面。

进入sys_site_name设定界面内容。
我们可以看到里面有KEY和Value 两项值得设定。我们如何直接通过打开一个设置界面在图框中进行修改呢?如下图。
这就是本篇博客的重点。config表。
如何创建 From generator 请参考http://slayer.blog.51cto.com/4845839/1620252
1)在/models/config 在models下创建一个config表。
进入/models/config/ 目录下创建一个basiConfig.php 基本配置文件。
<?php
namespace app\models\Config;
use Yii;
use yii\base\Model;
use yii\db\ActiveRecord;
use app\models\LuluConfig; #此处继承的整个config表的内容
class BasiConfig extends Model #继承Model父类。
{
protected function saveInternael($key,$value) #定义提交保存方法
{
$model = LuluConfig::findOne([‘`key`‘=>$key]);#在LuluConfig中查看是否有我们指定的键值。
if($model !==null) 如果不等于空
{
LuluConfig::updateAll([‘value‘=>$value],[‘`key`‘=>$key]);#对该数据进行update操作。
}
else
{
$model = new LuluConfig(); #否则创建一个新类,
$model->key=$key; #添加新的key
$model->value = $value; #添加新的value
$model->save(); #执行保存。
}
}
}
2)创建一个编辑主题和描述的界面/models/config/BasicConfig.php
<?php
namespace app\models\Config; #在此文件夹创建的config文件。
use Yii;
use yii\base\Model;
use app\models\Config;
/**
* This is the model class for table "{{%lulu_config}}". #此处已经说明文件的类来自lulu_config
*
* @property integer $id
* @property string $key
* @property string $value
*/
class BasicConfig extends BasiConfig #此处继承我们上面创建的新基本类。
{
public $site_name; #此处定义两个要修改内容的函数
public $site_description;
public function rules()
{
return [
[[‘site_name‘, ‘site_description‘], ‘required‘],# 测试是否输入的有内容,没有输入任何内容的话会在页面上进行提示。
];
}
/**
* @inheritdoc
*/
public function attributeLabels() #定义标题的方法。
{
return [
‘site_name‘ => ‘网站名称‘,
‘site_description‘ => ‘网站描述‘,
];
}
public function save() #定义提交后的指定操作
{
parent::saveInternael(‘sys_site_name‘,$this->site_name);
parent::saveInternael(‘sys_seo_description‘,$this->site_description);
}
}3)配置controllers
修改/basic/controllers/ConfigController.php
public function actionBasic() #定义一个 Basic方法。
{
$model = new BasicConfig();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect([‘view‘, ‘id‘ => $model->id]); #获取表单输入数据,获取后执行save操作。
} else {
return $this->render(‘basic‘,[‘model‘=>$model] ); #没有返回basic主界面。继续输入。
}
}
本文出自 “slayer” 博客,请务必保留此出处http://slayer.blog.51cto.com/4845839/1621421
标签:yii
原文地址:http://slayer.blog.51cto.com/4845839/1621421