zend-formbootstrappingzend-auth

Zend framework common code for all the controllers


I have a login button in the header of the website. This header's html is programmed into Zend framework views/layouts/home.phtml.

I have a hidden form in this layout that is triggered by jQuery thickbox inline content display integration. Reason, I dont want to make a ajax call to just fetch a small login form.

I create the form using Zend_Form and the problem is that I have to do it in all the controllers after checking if the user is logged in or not. I want to place this form generation in one single place, say in bootstrap and then have a logic in bootstrap to say that if user is logged in dont generate the form.

I don't know if bootstrap is the right place to do so or should I do it in some other place.

So, where should I instantiate the form so that its available everywhere if user is not logged in.


Solution

  • I did it in a different way, extendingZend_Controller_Plugin_Abstract to implement a plugin and register it with front controller.

    public function routeStartup(Zend_Controller_Request_Abstract $request) { } 
    

    generated the form inside the above mentioned method and by setting the form in $view object.

    $view can be retrived using :

    $view = Zend_Layout :: getMvcInstance()->getView();