En mi módulo, después de la ejecución de mi script, necesito hacer una redirección a una página con una cadena de consulta en la URL.
Esto es lo que tengo:
$redirectUrl = 'http://magento.local/en_en/shop/index';
$redirectArgs = array('test' => '1');
$this->_redirect($redirectUrl, $redirectArgs);
También probé:
Mage::app()->getFrontController()->getResponse()->setRedirect($redirectUrl, $redirectArgs)->sendResponse();
Ambos métodos arrojan un error: se ha producido un error al procesar su solicitud
Lo que espero es ser redirigido a http://magento.local/en_en/shop/index?test=1
¿Alguien sabe cómo puedo lograr eso?
Editar:
Como sugerí, he intentado:
$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl);
No hay error, pero no pasa nada. No estoy en un controlador.
Edición 2:
Terminé usando:
$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl)->sendResponse();
Esto funciona como se esperaba! Gracias.
redirect
ee-1.12.0.2
MrUpsidown
fuente
fuente
$this->_redirect($redirectUrl);
?_redirect
Si estás en un controlador. Si estás en otro lugar:Mage::app()->getResponse()->setRedirect($redirectUrl);
->sendResponse()
al final hizo el trabajo!sendResponse
La mejor manera de hacer esto es así.
fuente
Si desea redirigir a otra URL con parámetros de consulta, puede hacerlo así:
Esto lo redirigirá a: http: //magento.local/en_en/shop/index? Test = 1 & test = 2
fuente
Si terminó aquí desde google, está usando un controlador y desea redirigir a otro conservando los argumentos que puede usar:
Donde
module
,controller
yaction
puede ser sustituido por*
preservar su valor. Otra acción en el mismo controlador:Mismo nombre de acción, controlador hermano:
Y así...
fuente