首页 文章

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

提问于
浏览
60

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

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

Update: 这对我有用,谢谢!

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

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

2 回答

  • 62

    从控制器内部:

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

    (通过these docs

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

  • 13

    你也可以这样使用

    // Within controller
    Zend_Layout::getMvcInstance()->setLayout('layout_name');
    
    //Within view script
    
    <?php $this->layout()->setLayout('layout_name'); ?>
    

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

相关问题