30 lines
No EOL
909 B
PHP
30 lines
No EOL
909 B
PHP
<?php
|
|
require_once 'Zend/Controller/Plugin/Abstract.php';
|
|
|
|
/**
|
|
* Load module layout before trying to load global layout
|
|
*/
|
|
class Fiktiv_Controller_Plugin_Layout extends Zend_Controller_Plugin_Abstract
|
|
{
|
|
|
|
protected $_default = 'default';
|
|
|
|
public function preDispatch(Zend_Controller_Request_Abstract $request) {
|
|
|
|
$bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
|
|
$layout = $bootstrap->getResource('layout');
|
|
|
|
$moduleName = $request->getModuleName();
|
|
|
|
if (file_exists(APPLICATION_PATH . '/modules/' . $moduleName . '/views/layout/' . $this->_default . '.phtml')) {
|
|
|
|
$layout->setLayoutPath(APPLICATION_PATH . '/modules/' . $moduleName . '/views/layout');
|
|
} else {
|
|
|
|
$layout->setLayoutPath(APPLICATION_PATH . '/modules/default/views/layout');
|
|
}
|
|
|
|
$layout->setLayout($this->_default);
|
|
|
|
}
|
|
} |