如何将模块/控制器中的Zend Layout更改为存储在另一个模块中的布局?

时间:2009-12-21 12:58:30

标签: zend-framework layout

我在默认模块的错误控制器中工作,但我有其他模块/控制器有错误。它们的错误被发送到默认/错误控制器,但使用的布局是抛出错误的模块中的布局。我想只对所有错误使用默认模块布局。

2 个答案:

答案 0 :(得分:12)

为什么不使用帮助器:

public function init()
{
     $this->_helper->layout->setLayout('front');
}

嗯???

答案 1 :(得分:11)

    <?php
    class ErrorController extends Zend_Controller_Action
    {
        public function init()
        {
            parent::init();
            $layout = Zend_Layout::getMvcInstance();
            // Set a layout script path:
            $layout->setLayoutPath('/path/to/you/default/module/layouts');
            // choose a different layout script:
            $layout->setLayout('foo');
        }
    }