我确信这是一个简单的单行,但我似乎无法找到它。
如何为特定操作使用不同的布局文件?
更新:这对我有用,谢谢!
// Within controller
$this->_helper->_layout->setLayout('other-layout') //other-layout.phtml
//Within view script
<?php $this->layout()->setLayout('other-layout'); ?>
答案 0 :(得分:62)
从控制器内部:
$this->_helper->layout->setLayout('/path/to/your/layout_script');
(通过these docs)
编辑:我应该提一下,路径是相对于你的布局目录的(默认情况下,它是application/layouts/scripts/
)
答案 1 :(得分:13)
您也可以像这样使用
// Within controller
Zend_Layout::getMvcInstance()->setLayout('layout_name');
//Within view script
<?php $this->layout()->setLayout('layout_name'); ?>
您的布局必须位于/ layouts / scripts /文件夹中,否则您还需要指定路径。无需编写.phtml,只需编写布局名称