Magento从观察者重定向
我很难在Magento中从一个观察者创建一个工作重定向。除此之外,我需要理解为什么像我们在控制器中所做的异常在观察者中不工作 在控制器中执行的典型异常如下所示(adminhtml控制器) 在博客的某个地方,我读到了下面的方法来重定向observerMagento从观察者重定向,magento,Magento,我很难在Magento中从一个观察者创建一个工作重定向。除此之外,我需要理解为什么像我们在控制器中所做的异常在观察者中不工作 在控制器中执行的典型异常如下所示(adminhtml控制器) 在博客的某个地方,我读到了下面的方法来重定向observer Mage::getSingleton('core/session')->addError('Exception Message.'); Mage::app()->getFrontController()->getResponse()
Mage::getSingleton('core/session')->addError('Exception Message.');
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));
Mage::app()->getResponse()->sendResponse();
exit;
我不理解在使用观察者和控制器时重定向的基本区别
为什么控制器重定向在observer中使用时不起作用
Mage::getSingleton('core/session')->addError('Exception Message.');
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));
Mage::app()->getResponse()->sendResponse();
exit;
请帮我解释一下
提前非常感谢。请参阅下面的链接,我还发布了代码 这可能对你有帮助 资料来源: 在Magento控制器中重定向 在Zend Framework控制器中,要输出html以外的内容,您需要禁用ViewHelper默认值以及一些其他神奇的ZF典型编织 在Magento中,当执行控制器重定向时,同样的情况也适用 我注意到在PHP5.2上,重定向似乎被忽略了,而我的Macports 5.3设置却起作用。结果发现我错过了一个技巧,因此在Magento中正确的重定向如下所示: 在
MyPackage/MyModule/controllers/MyController.php
中:
$this->_redirectUrl($this->getUrl('http://www.someurl.com/someresource'));
$this->setFlag('', self::FLAG_NO_DISPATCH, true);
return $this;
如果没有setFlag调用,重定向将被忽略。return调用停止任何进一步的代码执行,并看到您的重定向得到执行。我认为这就是您要寻找的:$observer->getRequest()->setParam('return_url',');引用URL中的上述代码不起作用。关于:$this->getResponse()->setRedirect($returnUrl);(而不是getFrontController())^调用未定义的方法MongCars\u Checkout\u Model\u Observer::getResponse()