yii2 layout main.php,Yii2里面布局Layout的缺省设置

yii2里面渲染视图时,需要先查找layout,这个逻辑是在yii2/base/Controller/renderContent里面实现的:public function renderContent($content)

{

$layoutFile = $this->findLayoutFile($this->getView());

if ($layoutFile !== false) {

return $this->getView()->renderFile($layoutFile, ['content' => $content], $this);

}

return $content;

}

上面代码中的findLayoutFile会查找layout,其逻辑如下:首先查找控制器的layout

没有的话,就查找其所属Module的layout(一直向上直到找到第一个),这里最后的Module就是应用程序(Application)对象,其默认layout的名称为"main",所以如果没有设置任何layout的情况下,程序默认将使用当前layouts目录下的main.php文件。

找到layout后会根据其名称来做一些路径上面的处理,比如可能是使用@的同名,可能绝对路径等。

所以如果我们想更改某个视图的layout,比如404页面,可以在对应Controller类中设置其成员变量$layout为"error"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值