如何为视图助手设置不同的路径?

时间:2012-08-21 22:34:34

标签: php zend-framework

我正在使用Zend Framework开发模块化应用程序,我发现我使用了很多在所有模块中都很常见的视图助手,我希望以下结构工作,我有一个视图的中心位置在任何模块中使用的助手加上每个模块都有自己的视图助手,这可能吗?

APPLICATION_PATH
    /modules/module1/views/helpers
    /modules/module2/views/helpers
    /modules/module3/views/helpers
    /views/helpers <-- central location for all modules

2 个答案:

答案 0 :(得分:1)

感谢joellord的帮助,基于joellord提供的信息,我能够从中心位置加载视图帮助程序以及位于每个模块中的视图帮助程序。我将以下内容添加到我的主应用程序引导程序文件中:

public function _initView(){
    $view = new Zend_View($this->getOptions());


    $view->setEncoding('UTF-8');
    $view->addHelperPath(APPLICATION_PATH.'/helpers/', 'Application_Helpers_');
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
        'ViewRenderer'
    );
    $viewRenderer->setView($view);
    return $view;
}

答案 1 :(得分:0)

在我的Bootstrap中,我有以下功能:

protected function _initView() {
  $view->addHelperPath(APPLICATION_PATH."/../library/Myapp/View/Helper/", 'Myapp_View_Helper_');
  }

这有助于我实现我想你想要的东西。我的一般助手都位于/ library / Myapp / View / Helper