Cuando se cuenta con una estructura modular todos los Bootstrap de la aplicación son ejecutados en el proceso de inicialización, así el módulo no sea solicitado. De esta forma no se podría hacer independencia para vincular de forma exclusiva CSS o JS o el nombre de cada módulo. la solución a este inconveniente lo puede realizar un Plugin.
class Plugins_Layouts extends Zend_Controller_Plugin_Abstract
{
private $_nombreModulo;
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
//Obtener view de esta forma porque se encuentra definida en
//resources.view[] dentro de application.ini
$view = Zend_Controller_Front::getInstance()
->getParam('bootstrap')
->getResource('view');
$this->_nombreModulo = $request->getModuleName();
$layout = Zend_Layout::getMvcInstance();
switch ($this->_nombreModulo)
{
case 'admin':
$layout->setLayout('admin');
$view->headLink()->appendStylesheet($view->baseUrl("css/menuAdmin.css"));
$view->headLink()->appendStylesheet($view->baseUrl("css/templateAdmin.css"));
$view->headScript()->appendFile($view->baseUrl("js/menuAdmin.js"));
$view->headTitle('Zona de Administración','APPEND');
break;
case 'biblioteca':
$layout->setLayout('biblioteca');
break;
default:
$layout->setLayout('default');
$view->headLink()->appendStylesheet($view->baseUrl("css/menuDefault.css"));
$view->headLink()->appendStylesheet($view->baseUrl("css/templateDefault.css"));
$view->headScript()->appendFile($view->baseUrl("js/menuDefault.js"));
$view->headTitle('Default','APPEND');
break;
} } }
No hay comentarios:
Publicar un comentario
Gracias por sus comentarios!