У меня возникли проблемы с созданием рабочей переадресации в Magento от наблюдателя. Из этого я должен понять, почему исключение, подобное тому, как мы делаем в контроллере, не работает в Observer.Magento Redirect from Observer
Типичное исключение сделано в контроллере, как показано ниже (контроллер adminhtml)
$message = $this->__('Exception Message.');
Mage::getSingleton('adminhtml/session')->addError($message);
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
return;
Где-то в блоге я прочитал о методе ниже, чтобы перенаправить от наблюдателя.
Mage::getSingleton('core/session')->addError('Exception Message.');
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));
Mage::app()->getResponse()->sendResponse();
exit;
Я не понимаю основную переадресацию при работе с наблюдателем и контроллером.
Почему перенаправление контроллера не работает при использовании в наблюдателе.
Пожалуйста, помогите мне и объясните.
Большое спасибо.
Я думаю, что это то, что вы ищете: http://stackoverflow.com/questions/9749005/magent-redirect-customer-from-observer-method – JNDPNT
$ observer-> getRequest() -> setParam (' RETURN_URL», 'HTTP: //www.google.com/'); Вышеприведенный код из ссылочного URL не работает. – Slimshadddyyy
О: $ this-> getResponse() -> setRedirect ($ returnUrl); (вместо getFrontController()) – JNDPNT