bkwint
bkwint

Reputation: 626

Zend Framework View Helper not available in module when using layout

I'm starting to work with zend framework 1.12 and I ran into a little problem which I don't seem to be able to fix.

Up untill now i've done everything in the application, but now I want to build a module that handles all stuff that is related to settings.

Therefor i've created a new module and added a controller into it. This module automatically takes the layout from the application, which is what I want.

In this layout I use a view helper which works when I load a controller/action that is in the application folder. But when I try to load the layout around my controller inside my module the view helper is not available.

I hope I'm making sense and I would appreciate your help on this one!

Cheers!

Upvotes: 0

Views: 830

Answers (1)

RockyFord
RockyFord

Reputation: 8519

If I understand you correctly you need to setup your view helper path in the bootstrap or application.ini, I do it in 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;
    }

also make sure your module includes it's own bootstrap file, this makes it possible to load resources to the module:

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

hope this helps

Upvotes: 2

Related Questions