【发布时间】:2013-05-14 05:04:12
【问题描述】:
我在 Magento 中从观察者创建工作重定向时遇到问题。除此之外,我需要了解为什么像我们在控制器中所做的异常在观察者中不起作用。
在控制器中完成的典型异常如下(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;
我不明白使用观察者和控制器进行重定向时的基本区别。
为什么控制器重定向在观察者中使用时不起作用。
请帮我解释一下。
非常感谢。
【问题讨论】:
-
我想这就是你要找的东西:stackoverflow.com/questions/9749005/…
-
$observer->getRequest()->setParam('return_url','google.com/');引用 URL 中的上述代码不起作用。
-
怎么样:$this->getResponse()->setRedirect($returnUrl); (而不是 getFrontController())
-
^调用未定义的方法 MongCars_Checkout_Model_Observer::getResponse()
标签: magento