使用布局时,Zend Framework View Helper在模块中不可用

时间:2012-11-11 19:51:48

标签: php zend-framework view module view-helpers

我开始使用zend framework 1.12,我遇到了一个我似乎无法解决的问题。

直到现在我已经完成了应用程序中的所有操作,但现在我想构建一个处理与设置相关的所有内容的模块。

因此我创建了一个新模块并在其中添加了一个控制器。该模块自动从应用程序中获取布局,这就是我想要的。

在这个布局中,我使用了一个视图助手,当我加载应用程序文件夹中的控制器/动作时,它可以正常工作。但是当我尝试在我的模块中加载我的控制器周围的布局时,视图助手不可用。

我希望我有意义,我会感谢你对这个的帮助!

干杯!

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你需要在bootstrap或application.ini中设置你的视图助手路径,我是在bootstrap中做的:

 protected function _initView()
    {
        //Initialize view
        $view = new Zend_View();
        //add custom view helper path
        $view->addHelperPath('/../library/Namespace/View/Helper');

        //do more stuff if needed

        //add it to the view renderer
        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
                'ViewRenderer');
        $viewRenderer->setView($view);
        //Return it, so that it can be stored by the bootstrap
        return $view;
    }

还要确保您的模块包含它自己的引导程序文件,这样就可以将资源加载到模块中:

//at /application/modules/module/bootstrap.php
class Module_Bootstrap extends Zend_Application_Module_Bootstrap
{
    //just an empty class is enough
}

希望这会有所帮助