码迷,mamicode.com
首页 > 其他好文 > 详细

GII 的布局layout和config表

时间:2015-03-17 16:05:42      阅读:187      评论:0      收藏:0      [点我收藏+]

标签: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

GII 的布局layout和config表

标签:yii

原文地址:http://slayer.blog.51cto.com/4845839/1621421

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!