Yii2.0向布局文件中赋值变量,完善网站SEO信息。

17-12-20 10:52 字数 512 阅读 1825 已编辑

yii的Controller基类中没有assgin方法,没办法像thinkphp一样直接给模板赋值变量。且View中的$this指向的是View基类而不是Controller。

所以在给布局文件赋值的时候需要先获取view对象。

public function setSeo($title = '', $keywords = '', $description = '')  
    {  
        $view = \Yii::$app->view;  
        $view->params['title'] = !empty($title) ? $title : "zeeue";  
        $view->params['keywords'] = !empty($keywords) ? $keywords : "zeeue.com,精品APP,mac免费软件,windows免费软件,mac游戏破解,windows破解软件,免费APP,精品APP,APP分享";  
        $view->params['description'] = !empty($description) ? $description : "zeeue.com专注分享精品Mac、Windows软件App,游戏。";  
    }  

然后再main.php中使用$this->params获取。

<title><?= Html::encode($this->params['title']) ?></title>  
<meta name="description" content="<?= Html::encode($this->params['description']) ?>">  
<meta name="keywords" content="<?= Html::encode($this->params['keywords']) ?>"/>  
1人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论