Current File : /home/karenpetzb/library/Zend/Controller/LayoutPlugin.php
<?php 
      class Zend_Controller_LayoutPlugin extends Zend_Controller_Plugin_Abstract {
 
          /**
 
           * Array of layout paths associating modules with layouts

           */

          protected $_moduleLayouts;

         

          /**

           * Registers a module layout.

           * This layout will be rendered when the specified module is called.

           * If there is no layout registered for the current module, the default layout as specified

           * in Zend_Layout will be rendered

           *

           * @param String $module        The name of the module

           * @param String $layoutPath    The path to the layout

           * @param String $layout        The name of the layout to render

           */

          public function registerModuleLayout($module, $layoutPath, $layout=null){

              $this->_moduleLayouts[$module] = array(

                  'layoutPath' => $layoutPath,

                  'layout' => $layout

              );

          }

         

          public function preDispatch(Zend_Controller_Request_Abstract $request){

              if(isset($this->_moduleLayouts[$request->getModuleName()])){

                  $config = $this->_moduleLayouts[$request->getModuleName()];

                 

                  $layout = Zend_Layout::getMvcInstance();

                  if($layout->getMvcEnabled()){

                      $layout->setLayoutPath($config['layoutPath']);

                     

                      if($config['layout'] !== null){

                          $layout->setLayout($config['layout']);

                      }

                  }

              }

          }

      }

?>