Zend Framework 1:每个模块的不同错误布局和脚本

时间:2014-02-06 10:17:38

标签: zend-framework view error-handling

如标题所示,我希望Zend Framework-1-Projekt中的每个模块都有不同的错误视图。没有必要为每个模块都有一个单独的错误控制器,我试过,我只想使用不同的布局文件,如果没有错误 - 模块中的布局使用默认错误视图作为回退。到目前为止,它始终使用“默认”错误控制器和“默认”-view-folder。有谁知道如何实现这一目标?我是Zend Framework的新手......所以如果这是一个愚蠢的问题我会道歉。

2 个答案:

答案 0 :(得分:0)

试试这个

$module = $request->getModuleName();
if (file_exists(APPLICATION_PATH . '/layouts/' . $module . '_error.html')) {
    $module_err = $module . '_error'
    Zend_Layout::getMvcInstance()->setLayout($module_err );
} else {
   //use default layout
   .....
}  

答案 1 :(得分:0)

当从模块抛出异常然后由ErrorHandler控制器插件处理然后调度到默认错误控制器时,视图对象将有2个脚本dirs设置为查找视图:

原始模块,然后是默认模块。

所以你需要做的就是创建模块特定的视图脚本(比如说application/modules/moduleA/views/scripts/error/error.phtml),然后使用它。

如果它不存在,则将使用默认值(application/views/scripts/error/error.phtml)。