在 Yii 中,有没有办法使用不同的方式渲染单个动作layout
比为控制器定义的值?我有一个操作希望其格式与其他操作不同,并且文档中不清楚这是否可能。
我相信您可以调用该操作$layout
多变的。
public function actionYourAction()
{
$this->layout = 'nameOfYourAltLayout';
}
下面链接中的说明表明您必须为每个操作设置此变量,因为您不能只设置默认公共变量并期望其他操作默认返回到此变量。
http://www.yiiframework.com/wiki/28/how-to-implement-multiple-page-layouts-in-an-application/ http://www.yiiframework.com/wiki/28/how-to-implement-multiple-page-layouts-in-an-application/
::Edit::
看来这里的最佳实践是定义$layout
视图脚本中的变量用于调用它的特定操作。例如,如果您的操作调用viewscriptone.php
那么 viewscriptone 视图文件将包含:
$this->layout = 'nameOfYourAltLayout';
在此处重写比在控制器操作中重写更有意义。但是,正如 LDG 所说,如果布局是有条件的,您可能应该将其保留在控制器中。您仍然可以在页面“使用布局”部分下的上面链接中找到此信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)