如何从文件夹外部更改Zend模块?

时间:2011-07-14 12:41:29

标签: php zend-framework zend-framework-mvc zend-framework-modules

我想在不改变代码的情况下更改某些zend模块的视图。 我的想法是使用配置(application.ini)更改模块的视图文件夹,而不是其他任何内容。

这可能吗?

如何使用模块?如果你不能从外面改变它们,那么可互换的那种掉线了吗?

1 个答案:

答案 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