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

And*_*rew 60 php layout zend-framework zend-view zend-layout

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

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

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

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

//Within view script
<?php $this->layout()->setLayout('other-layout'); ?>
Run Code Online (Sandbox Code Playgroud)

Jos*_*sey 62

从控制器内部:

$this->_helper->layout->setLayout('/path/to/your/layout_script');
Run Code Online (Sandbox Code Playgroud)

(通过这些文档)

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

  • 或者,如果布局路径设置正确(`$ layout-> setLayoutPath('application/layouts/scripts')`),请使用`$ this - > _ helper_layout-> setLayout('alternative_layout')`来引用`application/layouts /脚本/ alternative_layout.phtml`. (4认同)

Md *_*din 13

你也可以这样使用

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

//Within view script

<?php $this->layout()->setLayout('layout_name'); ?>
Run Code Online (Sandbox Code Playgroud)

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