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

Redirect En Bootstrap

Estas en el tema de Redirect En Bootstrap en el foro de Zend en Foros del Web. Hola, estoy tratando de hacer un redirect en el bootstrap pero no lo puedo lograr: Código PHP:                 $http  = new  Zend_Controller_Request_Http ();                  $http -> setParam ...
  #1 (permalink)  
Antiguo 17/10/2011, 21:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Redirect En Bootstrap

Hola, estoy tratando de hacer un redirect en el bootstrap pero no lo puedo lograr:
Código PHP:
                $http = new Zend_Controller_Request_Http();
                
$http->setParam('key''value');
                
$action $http->getActionName();
                
$controller $http->getControllerName();
                
$module $http->getModuleName();
                
$params $http->getParams();
                
$redirector Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
                
$redirector->gotoSimple($action$controller$module$params); 
Me tira el siguiente error:
Fatal error: Call to a member function getModuleName() on a non-object in C:\...\library\Zend\Controller\Action\Helper\Redir ector.php on line 275
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #2 (permalink)  
Antiguo 17/10/2011, 22:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Redirect En Bootstrap

Primero, ¿por qué quieres hacer una redirección desde el bootstrap? El bootstrap el propósito no es redireccionar, sino preparar el ambiente para toda la aplicación. Deberías hacer la redirección desde el controlador o desde algún plugin setear el controller y action que quieres mostrar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 18/10/2011, 05:21
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Redirect En Bootstrap

Cita:
Iniciado por abimaelrc Ver Mensaje
Primero, ¿por qué quieres hacer una redirección desde el bootstrap? El bootstrap el propósito no es redireccionar, sino preparar el ambiente para toda la aplicación. Deberías hacer la redirección desde el controlador o desde algún plugin setear el controller y action que quieres mostrar.
Como puse en el ejemplo necesito armar el request que viene y agregarle un par de parametros, no quiero llegar hasta el controlador porque es inecesario, si se cumple una condición esta redirección es lo primero que debería hacer.
Por favor, como obtengo los datos que necesito (controlador, acción, etc...) para redireccionar.
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #4 (permalink)  
Antiguo 18/10/2011, 06:27
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Redirect En Bootstrap

Utiliza plugins, te dejo un par de referencias:

http://framework.zend.com/manual/en/...r.plugins.html
http://devzone.zend.com/article/3372

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 18/10/2011, 08:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Redirect En Bootstrap

El problema es que todo lo que quieres cargar se inicializa hasta que sales del Bootstrap, si solo quieres redireccionar de esa forma no vas a poder usar las clases de Zend y deberías de redireccionar manualmente (aunque es una mala idea porque rompes con el diseño de tu app).

Lo mejor es como te dicen, usa un plugin y en el preDispatch, o routeStartup.

Saludos.
  #6 (permalink)  
Antiguo 18/10/2011, 09:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Redirect En Bootstrap

Cita:
Iniciado por masterpuppet Ver Mensaje
Excelente, me andubo de maravilla. Lo hice en el preDispatch.
GRACIAS A TODOS!
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #7 (permalink)  
Antiguo 18/10/2011, 09:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Redirect En Bootstrap

¿Cómo lo lograste?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 18/10/2011, 19:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Redirect En Bootstrap

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Cómo lo lograste?
Código PHP:
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
                
$request->setQuery('foo''var');
                
                
$redirector Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
                
$redirector->gotoSimple(
                    
$request->getActionName(), 
                    
$request->getControllerName(), 
                    
$request->getModuleName(), 
                    
$request->getParams()
                );
    } 
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #9 (permalink)  
Antiguo 18/10/2011, 21:05
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Parámetros GET

Hola, no se porque motivo no me obtiene los parámetros de la URL, por ejemplo de:
Código:
http://localhost/dominio.com/public_html/zdev/index/index/foo/bar
Hago esto:
Código PHP:
$request = new Zend_Controller_Request_Http('http://localhost/dominio.com/public_html/zdev/index/index/foo/bar');
$request->getParam('foo'); 
Y el resultado es NULL, si hago lo mismo pero con el formato estandar me trae el valor, osea que el problema es el formato de zend. Pero específicamente cual es el problema no pude deducirlo.
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #10 (permalink)  
Antiguo 18/10/2011, 21:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Parámetros GET

Es que estás iniciando aparte Zend_Controller_Request_Http y no dentro del flujo que ya haz llamado. Ya en ese caso debes usar setParam(s) para colocar el/los valor(es) y luego llamarlo con getParam(s).
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 19/10/2011, 02:59
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Parámetros GET

Cita:
Iniciado por CyberMauher Ver Mensaje
Hola, no se porque motivo no me obtiene los parámetros de la URL, por ejemplo de:
Código:
http://localhost/dominio.com/public_html/zdev/index/index/foo/bar
Hago esto:
Código PHP:
$request = new Zend_Controller_Request_Http('http://localhost/dominio.com/public_html/zdev/index/index/foo/bar');
$request->getParam('foo'); 
Y el resultado es NULL, si hago lo mismo pero con el formato estandar me trae el valor, osea que el problema es el formato de zend. Pero específicamente cual es el problema no pude deducirlo.
Lee el docblock de Zend_Uri_Http y veras que espera, algo así te podría servir:

Código PHP:
Ver original
  1. $uri = 'http://localhost/dominio.com/public_html/zdev/index/index/?foo=bar';

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #12 (permalink)  
Antiguo 19/10/2011, 05:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Parámetros GET

Cita:
Iniciado por masterpuppet Ver Mensaje
Lee el docblock de Zend_Uri_Http y veras que espera, algo así te podría servir:

Código PHP:
Ver original
  1. $uri = 'http://localhost/dominio.com/public_html/zdev/index/index/?foo=bar';

Saludos.
Si totalmene, es como dije antes de la manera estandar me obtiene el parámetro. Pero resulta que la url que describi biene de un redirect, donde ese redirect me pasa los valores del $_GET al formato zend, sino diganme como hago para que zend no me haga la transformación cuando seteo la query:
Código PHP:
$request->setQuery('foo''bar');
...
$redirector->gotoSimple($action$controller$module$params); 
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!

Etiquetas: bootstrap, php, redirect
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 14:57.