В моем модуле после выполнения моего скрипта мне нужно сделать перенаправление на страницу со строкой запроса в URL.
Вот что у меня есть:
$redirectUrl = 'http://magento.local/en_en/shop/index';
$redirectArgs = array('test' => '1');
$this->_redirect($redirectUrl, $redirectArgs);
Я также попробовал:
Mage::app()->getFrontController()->getResponse()->setRedirect($redirectUrl, $redirectArgs)->sendResponse();
Оба метода выдают ошибку: при обработке вашего запроса произошла ошибка
То, что я ожидаю, должно быть перенаправлено на http://magento.local/en_en/shop/index?test=1
Кто-нибудь знает, как мне этого добиться?
Редактировать:
Как и предполагалось, я попытался:
$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl);
Нет ошибки, но ничего не происходит. Я не в контроллере.
Изменить 2:
Я закончил тем, что использовал:
$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl)->sendResponse();
Это работает как ожидалось! Спасибо.
redirect
ee-1.12.0.2
MrUpsidown
источник
источник
$this->_redirect($redirectUrl);
?_redirect
если вы в контроллере. Если вы где-то еще:Mage::app()->getResponse()->setRedirect($redirectUrl);
->sendResponse()
в конце сделало работу!sendResponse
Лучший способ сделать это так.
источник
Если вы хотите перенаправить на другой URL с параметрами запроса, вы можете сделать это следующим образом:
Это перенаправит вас на: http: //magento.local/en_en/shop/index? Test = 1 & test = 2
источник
Если вы оказались здесь из Google, используете контроллер и хотите перенаправить на другой, сохранив аргументы, которые вы можете использовать:
Где
module
,controller
иaction
может быть заменен ,*
чтобы сохранить это значение. Еще одно действие в том же контроллере:То же имя действия, контроллер сиблинга:
И так далее...
источник