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