diff options
Diffstat (limited to 'library/Pbs/Controller/Plugin/Modularlayout.php')
| -rw-r--r-- | library/Pbs/Controller/Plugin/Modularlayout.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/library/Pbs/Controller/Plugin/Modularlayout.php b/library/Pbs/Controller/Plugin/Modularlayout.php new file mode 100644 index 0000000..1cc25dd --- /dev/null +++ b/library/Pbs/Controller/Plugin/Modularlayout.php @@ -0,0 +1,29 @@ +<?php + +class Pbs_Controller_Plugin_Modularlayout extends Zend_Controller_Plugin_Abstract +{ + + public function routeShutdown(Zend_Controller_Request_Abstract $request) + { + $config = Zend_Controller_Front::getInstance() + ->getParam('bootstrap')->getOptions(); + $moduleName = $request->getModuleName(); + if($moduleName == 'default'){ + $path = $config['resources']['layout']['layoutPath']; + $file = $config['resources']['layout']['layout']; + Zend_Layout::getMvcInstance()->setLayoutPath($path/*. DIRECTORY_SEPARATOR .$layoutPath*/); + Zend_Layout::getMvcInstance()->setLayout($file); + } + if (isset($config[$moduleName]['resources']['layout']['layoutPath']) && $moduleName != 'default') { + $layoutPath = $config[$moduleName]['resources']['layout']['layoutPath']; + $moduleDir = Zend_Controller_Front::getInstance()->getModuleDirectory(); + $moduleDir .= "/layouts"; + $layoutScript = $config[$moduleName]['resources']['layout']['layout']; + $str = $moduleDir."/".$layoutScript; + Zend_Layout::getMvcInstance()->setLayoutPath($moduleDir/*. DIRECTORY_SEPARATOR .$layoutPath*/); + Zend_Layout::getMvcInstance()->setLayout($layoutScript); + + } + } +} + |
