我的Zend Framework问题... 遗憾的是,经过3个小时的搜索后没有解决:
我有一个模块化的Zend应用程序,如果我在被调用的模块中有我的模块和错误模板,它工作正常。 如果我从视图/脚本/中删除错误/ error.phtml,则会出现致命错误,表示没有目录。
简而言之:在这种情况下,如何定义Zend回归默认模块?
非常感谢提前。
答案 0 :(得分:1)
渲染视图时,视图渲染器会查看视图脚本路径的“堆栈”。将脚本路径添加到视图的顺序决定了查找顺序。所以:
$view = new Zend_View();
$view->addScriptPath(APPLICATION_PATH . "/default/views/scripts/")
->addScriptPath(APPLICATION_PATH . "/modules/module/views/scripts/");
在上面,它首先会查看“/ modules ...”,然后是“/ default ...”,然后它实际上会查找脚本运行的当前目录中的视图你的视图脚本。
您还可以使用相同的方法添加布局路径。我发现另一个有用的提示是更改viewScriptPathSpec
,它告诉视图要呈现的文件路径:
$this->_helper->viewRenderer->setViewScriptPathSpec(":controller/:action.:suffix");
这是我认为的默认设置,但如果您愿意,可以更改它。例如,我有一个CMS模块,无论控制器名称是什么,它总是在“crud”视图脚本文件夹中呈现脚本:
$this->_helper->viewRenderer->setViewScriptPathSpec("crud/:action.:suffix");