yii2 布局设置

yii2 布局设置,第1张

1、类级别设置

属性

设置布局郑世 public $layout = 'login'

取消布局 public $layout = false

2、方法级别

设置布局 $this->layout = 'login'

取消神丛宽布局 $this->layout = false

3、视图级别

设置布局 $this->context->layout = 'login'

取消布局 $this->context->layout = false

注:什么都不设置为默认布局,读取views/layouts/main.php文件作为布游亮局文件

yii框架默认会渲染/protected/views/laytout/main.php布局文件,当然我们也可以自己设置控制器特有的布局文件,设置很简单:

<?php

class PostController extends Controller

{

public $layout='column2'

设置控制器类的 $layout属性为你想要渲染的布局文件就ok了

那么有了layout布局后,$this->render('index',array('衫孙源dataProvider'=&

gt$dataProvider,)),yii是先渲染column2布局文件还是凯物先渲或态染index.php视图模版呢,答案很简单,我们看下

CController.php文件中的render函数就明白了:

[php] view plaincopy

public function render($view,$data=null,$return=false)

{

if($this->beforeRender($view))

{

$output=$this->renderPartial($view,$data,true)

if(($layoutFile=$this->getLayoutFile($this->layout))!==false)

$output=$this->renderFile($layoutFile,array('content'=>$output),true)

$this->afterRender($view,$output)

$output=$this->processOutput($output)

if($return)

return $output

else

echo $output

}

}

可以看到yii是先通过renderPartial来渲染视图模版,然后把模版渲染的结果放入content变量中通过renderFile去渲染布局文件

$this->render('index', array('list'  =>$list))

index指的是带段兄视图

array('list'  =>$list)是把$list命蠢袭燃圆名为新的list变量或者数组传到index视图。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8172362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存