60

我敢肯定这是一个简单的单行,但我似乎无法找到它。

如何为特定操作使用不同的布局文件?

更新:这对我有用,谢谢!

// Within controller
$this->_helper->_layout->setLayout('other-layout') //other-layout.phtml

//Within view script
<?php $this->layout()->setLayout('other-layout'); ?>
4

2 回答 2

62

从控制器内部:

$this->_helper->layout->setLayout('/path/to/your/layout_script');

(通过这些文档

编辑:我应该提到路径是相对于您的布局目录的(默认情况下,它是application/layouts/scripts/

于 2009-10-23T21:26:05.390 回答
13

你也可以这样使用

// Within controller
Zend_Layout::getMvcInstance()->setLayout('layout_name');

//Within view script

<?php $this->layout()->setLayout('layout_name'); ?>

您的布局必须在 /layouts/scripts/ 文件夹中,否则您还需要指定路径。无需编写 .phtml,只需布局名称

于 2011-09-26T12:09:18.400 回答