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

时间:2009-10-23 21:20:53

标签: php zend-framework layout zend-view zend-layout

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

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

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

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

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

2 个答案:

答案 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,只需编写布局名称