Can someone please confirm if this is the expected behaviour please or simply if I am doing something wrong? Thanks. :)
drj201 wrote: > > I have a front controller plugin to override the default behavior of > Zend_Layout via Zend_Layout::startMvc like so: > > class MyApp_Layout_Controller_Plugin_Layout extends > Zend_Layout_Controller_Plugin_Layout > { > > public function preDispatch(Zend_Controller_Request_Abstract $request) > { > > switch ($request->getModuleName()) > { > case 'admin': > $this->_moduleChange('admin'); > break; > case 'module2': > $this->_moduleChange('module2'); > break; > // Use default Layout > } > } > > protected function _moduleChange($moduleName) > { > > > $this->getLayout()->setLayoutPath(dirname(dirname($this->getLayout()->getLayoutPath())) > . DIRECTORY_SEPARATOR . 'modules/' . $moduleName . '/views/layouts'); > $this->getLayout()->setLayout($moduleName); > > return; > } > > } > > Im experiencing unexpected behaviour with the above and the use of > modules. The above works fine for calls to http://my-app/controller-name > (controllers in the default directory) and works fine for modules (and > their controllers) that exist i.e. http://my-app/module-name or > http://my-app/module-name/controller-name. > > When navigating to http://my-app/does-not-exist or > http://my-app/module-name/does-not-exist I am getting the wrong path > returned in the setLayoutPath. It seems that when the Error Controller is > called the Zend_Layout::startMvc plugin is called again (calling the > plugin on preDispatch twice builds an incorrect path to use for the layout > script)! > > Investigating further by simply echoing some text in the preDispatch > function of the plugin (crude test I know) it appears that when navigating > to a path that does not exist (i.e. no controller) the text is echoed > twice! Is this default behaviour i.e. when ErrorController is called so is > the plugin? > > Thanks in advance for any insight! However small! > > Regards, > > Dave > -- View this message in context: http://www.nabble.com/Default-behavior-of-Zend_Layout%3A%3AstartMvc-and-plugin-use--tp20031977p20164288.html Sent from the Zend Framework mailing list archive at Nabble.com.