我想在不改变代码的情况下更改某些zend模块的视图。 我的想法是使用配置(application.ini)更改模块的视图文件夹,而不是其他任何内容。
这可能吗?
如何使用模块?如果你不能从外面改变它们,那么可互换的那种掉线了吗?
答案 0 :(得分:1)
我猜你有:
YourModule
- controllers
- views
- alternativeViews
您想要从views
切换到alternativeViews
吗?您可以在$view->addScriptPath('/path/to/app/views');
中使用scriptPatch
或添加其他application.ini
。但是,我真的对此不以为然(这样做太经常会花太长时间)。
在我看来,这是控制人员的工作决定。因此,您可以安全地将视图用于应用程序中的某个位置(也可以是application.ini
)并在控制器中呈现不同的视图:
public function indexAction()
{
// decide which view to render, save name of view in $viewName
$this->render($viewName);
}
使用此文件结构:
YourModule
- controllers
- views
- scripts
- yourController
- index.phtml // the default view
- indexAlternative.phtml // alternative view