如何在Zend Framework中切换布局文件?

我确信这是一个简单的单行线,但我似乎找不到它。

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

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

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

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

答案 1

从控制器内部:

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

(通过这些文档)

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


答案 2

您也可以像这样使用

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

//Within view script

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

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


推荐