Foros del Web » Programando para Internet » PHP » Zend »

Modular Bootstraping

Estas en el tema de Modular Bootstraping en el foro de Zend en Foros del Web. Estimados, estoy tratando de hacer una aplicación completamente modular. Tengo el siguiente problema. En mi /application/Bootstrap.php tengo Código PHP: class  Bootstrap  extends  Zend_Application_Bootstrap_Bootstrap { }  ...
  #1 (permalink)  
Antiguo 26/10/2011, 09:00
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Modular Bootstraping

Estimados, estoy tratando de hacer una aplicación completamente modular.

Tengo el siguiente problema.

En mi /application/Bootstrap.php tengo

Código PHP:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

en mi modulo default /application/modules/default/Bootstrap.php

Código PHP:
class Default_Bootstrap extends Zend_Application_Module_Bootstrap
{
    
    protected function 
_initViewHelper(){
        
$viewRenderer =  Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        
$viewRenderer->init();

        
$this->_view $viewRenderer->view;
        
$this->_view->headLink()->appendStylesheet('/css/hoja-estilo-default.css');
    }

y en mi modulo foo /application/modules/foo/Bootstrap.php

Código PHP:
class Foo_Bootstrap extends Zend_Application_Module_Bootstrap
{
    
    protected function 
_initViewHelper(){
        
$viewRenderer =  Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        
$viewRenderer->init();

        
$this->_view $viewRenderer->view;
        
$this->_view->headLink()->appendStylesheet('/css/hoja-estilo-foo.css');
    }

entonces cuando cargo misitio.com/foo lee el bootstrap del modulo default tambien por lo que el código html queda.


Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Zend App</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" >
<meta http-equiv="Content-Language" content="es" >
<link href="/css/hoja-estilo-defualt.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/css/hoja-estilo-foo.css" media="screen" rel="stylesheet" type="text/css" >
</head>
<body>
    <div style="text-align:center">
    <h1>Foo Module</h1>
</div>
</body>
</html> 
Lo que no quiero es que cuando estoy en mi modulo Foo solo lea los recursos de ese modulo.

Espero que se entienda el problema y alguien pueda aportar.

Gracias
  #2 (permalink)  
Antiguo 26/10/2011, 09:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Modular Bootstraping

El problema es ese, los bootstraps se ejecutan todos cuando se incializa la aplicación, si quieres hacer algo así de modular, tienes que crear un controller plugin que detecte el modulo actual y en base a eso cargue lo que necesites.

Saludos.
  #3 (permalink)  
Antiguo 26/10/2011, 10:08
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Modular Bootstraping

Dejo una referencia prácticamente obligatoria para los modules http://weierophinney.net/matthew/arc...and-Donts.html

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 27/10/2011, 08:47
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Modular Bootstraping

Muchas gracias por las respuestas. En realidad que los bootstrap sean leídos en todos los módulos tiene sus ventajas.

Por mientras lo que hice fue definir cada css en cada layout utilizando el pluggin de layouts.

Voy a caxar lo que dices GatorV.

Gracias nuevamente

Etiquetas: bootstrap, bootstraping, zend-bootstrap, zend-framework
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.