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

[Zend] Front en Bootstrap

Estas en el tema de [Zend] Front en Bootstrap en el foro de Zend en Foros del Web. Hola, como hago para hacer lo siguiente en el bootstrap? Código PHP: $front  =  Zend_Controller_Front :: getInstance (); $baseUrl  =  $front -> getBaseUrl (); ...
  #1 (permalink)  
Antiguo 01/03/2011, 09:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
[Zend] Front en Bootstrap

Hola, como hago para hacer lo siguiente en el bootstrap?

Código PHP:
$front Zend_Controller_Front::getInstance();
$baseUrl $front->getBaseUrl(); 
  #2 (permalink)  
Antiguo 01/03/2011, 09:42
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: [Zend] Front en Bootstrap

Tal cual esta no te funciona ?, igual te comento que se puede hacer de la siguente manera:
Código PHP:
Ver original
  1. //Bootstrap.php
  2. protected _initFoo()
  3. {
  4.    $this->bootstrap('frontController');
  5.    $fc = $this->getResource('frontController');
  6.    ...
  7. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 01/03/2011, 13:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

Cita:
Iniciado por masterpuppet Ver Mensaje
Tal cual esta no te funciona ?, igual te comento que se puede hacer de la siguente manera:
Código PHP:
Ver original
  1. //Bootstrap.php
  2. protected _initFoo()
  3. {
  4.    $this->bootstrap('frontController');
  5.    $fc = $this->getResource('frontController');
  6.    ...
  7. }

Saludos.
Hola, hice:
Código PHP:
$this->bootstrap('frontController');
$front $this->getResource('frontController');
$baseUrl $front->getBaseUrl().'/'
Y me devuelve una cadena vacía, cuando la baseUrl no debería ser vacía.
  #4 (permalink)  
Antiguo 01/03/2011, 13:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

Ah para no lo hice con el método _initFoo(), tiene algo que ver?
  #5 (permalink)  
Antiguo 01/03/2011, 13:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

Lo acabo de hacer con el método _initFoo(), y es lo mismo.
Necesito obtener baseUrl para poder establecer una correcta ubicación a las carpetas de imagenes, javascript, css, etc.
Desde el layout.phtml puedo pero desde el bootstrap no.
  #6 (permalink)  
Antiguo 01/03/2011, 13:51
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: [Zend] Front en Bootstrap

No tiene que ver, mientras sea _init se va ejecutar, porque decis que no tiene que estar vacia ?, acaso la seteaste en el application.ini ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 01/03/2011, 14:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

No la he seteado en la configuracion, pero no debería ser vacio porque en el layout.phtml muestra la corecta baseUrl.
Quisiera saber porque en el bootstrap no me muestra la correcta baseUrl y si lo hace en el layout.
  #8 (permalink)  
Antiguo 01/03/2011, 14:41
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: [Zend] Front en Bootstrap

El baseUrl por defecto es vació, como es el que te muestra en el layout ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #9 (permalink)  
Antiguo 01/03/2011, 16:43
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

Mi estructura de trabajo es asi:
http://www.midominio.com/ (aquí estan las carpetas library, applications, www, etc)
http://www.midominio.com/www/ (aquí esta el archivo index.php, y las carpetas css, js, etc)

Yo necesito que me saque la baseUrl que sería /www, de echo como dije antes en el layout puedo obtenerla a través de $front->getBaseUrl(), y no es vacía como dices.
  #10 (permalink)  
Antiguo 01/03/2011, 17:34
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: [Zend] Front en Bootstrap

Bueno tenes varias opciones, te paso dos, setear en el application.ini el baseUrl

Código INI:
Ver original
  1. resources.frontController.baseUrl = "/subdir"

o si queres que lo resuelva Zend crear un request y setearselo al frontController antes de llamar a baseUrl

Código PHP:
Ver original
  1. //Bootstrap.php
  2. protected function _initFc()
  3. {
  4.     $this->bootstrap('frontController');
  5.     $fc = $this->getResource('frontController');
  6.     $fc->setRequest(new Zend_Controller_Request_Http());
  7.  
  8.     $baseUrl = $front->getBaseUrl();
  9.     ...
  10. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #11 (permalink)  
Antiguo 01/03/2011, 19:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

Excelente!!! Funciona de maravilla.
Setearlo en la configuración no me servía porque es estático, por lo cual la segunda opción es la que necesitaba.

Pero quisiera hacerte dos preguntas más:
1. Porqué no me lo dijiste anteeeesss!!!
2. Quisiera que me explicaras porque en el layout no es necesario setRequest().

Desde ya muchas gracias!
  #12 (permalink)  
Antiguo 01/03/2011, 22:15
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: [Zend] Front en Bootstrap

La razón es porque el Bootstrap se ejecuta antes de que empieze el dispatch del frontController, y es en ese punto donde se evalua el request y se setea el baseUrl.

Saludos.
  #13 (permalink)  
Antiguo 02/03/2011, 04:59
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: [Zend] Front en Bootstrap

  1. Es para darle dramatismo , ahora en serio, amigo, no somos adivinos, recien en el penútlimo mensaje aclaras bien lo que necesitas.
  2. Lee lo que te puso GatorV

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #14 (permalink)  
Antiguo 02/03/2011, 08:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: [Zend] Front en Bootstrap

Hola amigos, viendo este post, me entró la duda si esto tambien podría servir para lo que quiere CyberMauher.
Código PHP:
Ver original
  1. $controller = Zend_Controller_Front::getInstance();
  2.              ->setBaseUrl($controller->getBaseUrl().'/');
  3. $response   = $controller->dispatch();
Saludos.
  #15 (permalink)  
Antiguo 02/03/2011, 09:13
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: [Zend] Front en Bootstrap

No, porque como comento más arriba, se tiene que evaluar el request (que es lo que hace el dispatch) la forma correcta si se necesita en el Bootstrap es hacerlo como indica masterpuppet.

Saludos.
  #16 (permalink)  
Antiguo 02/03/2011, 22:33
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [Zend] Front en Bootstrap

Cita:
Iniciado por masterpuppet Ver Mensaje
  1. Es para darle dramatismo , ahora en serio, amigo, no somos adivinos, recien en el penútlimo mensaje aclaras bien lo que necesitas.
  2. Lee lo que te puso GatorV

Saludos.
Jajaja, gracias capo!

Etiquetas: front
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 13:59.