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

Nueva Instancia HeadScript

Estas en el tema de Nueva Instancia HeadScript en el foro de Zend en Foros del Web. Hola, necesito saber como creo una nueva instancia Zend_View_Helper_HeadScript() en el bootstrap. Actualmente mi código es: Código PHP: ... $view -> headScript ()-> appendFile (...); ...
  #1 (permalink)  
Antiguo 07/10/2011, 08:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Nueva Instancia HeadScript

Hola, necesito saber como creo una nueva instancia Zend_View_Helper_HeadScript() en el bootstrap.
Actualmente mi código es:
Código PHP:
...
$view->headScript()->appendFile(...);

$view->footerScript = new Zend_View_Helper_HeadScript();
$view->footerScript->headScript()->appendFile(...); 
Necesito poner algunos scripts en el head del html y otros antes del cierre del body. Es por ello que intenté hacer una nueva intancia y no me la hace, como que es singleton porque me trae lo del head en el footer.
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #2 (permalink)  
Antiguo 07/10/2011, 18:17
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: Nueva Instancia HeadScript

Que tal CyberMauher,

El problema esta en que por mas que crees una nueva instancia comparten el mismo container, lo mas sencillo seria herencia, algo así podría servir:

Código PHP:
Ver original
  1. class My_View_Helper_FootScript
  2.     extends Zend_View_Helper_HeadScript
  3. {
  4.     protected $_regKey = 'Zend_View_Helper_FootScript';
  5.  
  6.     public function footScript($mode = Zend_View_Helper_HeadScript::FILE,
  7.             $spec = null, $placement = 'APPEND',
  8.             array $attrs = array(), $type = 'text/javascript')
  9.     {
  10.         return parent::headScript($mode, $spec, $placement, $attrs, $type);
  11.     }
  12. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 08/10/2011, 15:39
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 19 años, 2 meses
Puntos: 55
Respuesta: Nueva Instancia HeadScript

otra opción es utilizar el metodo setContainer y pasar un nuevo container

Código PHP:
Ver original
  1. $view->headScript()->appendFile(...);
  2.  
  3. $view->footerScript = new Zend_View_Helper_HeadScript();
  4. $view->footerScript->setContainer(new NuevoContenedor());

suerte
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 08/10/2011, 16:54
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: Nueva Instancia HeadScript

Hay que tener en cuenta emiliodeg, que de esa forma el nuevo view helper no quedaria en el registry interno y que dos view helpers compartirian la misma key de registro, puede llevar a comportamiento errático.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 08/10/2011, 19:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Nueva Instancia HeadScript

Muchas gracias a todos, voy a intentar con lo que propones masterpuppet.
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!

Etiquetas: Ninguno
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 16:01.