我无法从观察者在 Magento 中创建工作重定向。
据我所知,有很多事件都获得了响应对象(在$observer
目的)。
另一种方法是使用类似的东西
Mage::app()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));
正如这里提到的https://stackoverflow.com/a/4730200/1700048 https://stackoverflow.com/a/4730200/1700048由伟大的艾伦·斯托姆创作。
不幸的是,这对我不起作用,即使我添加sendResponse()
像这样:
Mage::app()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'))->sendResponse();
例如:
我想阻止某些电子邮件地址订阅时事通讯。
因此我创建了一个观察者newsletter_subscriber_save_before
Event.
在我的观察者方法中,我检查一些情况,如果它们触发,我想阻止保存时事通讯订阅。
我的计划是添加这样的错误:
Mage::getSingleton('checkout/session')->addError('Email is spam!');
然后让当前页面重新加载(显示错误消息)并使用上面所示的重定向(checkout/cart
在示例中只是为了看看它是否真的有效)。
不幸的是,重定向不起作用。
为什么sendResponse
在这种情况下不发送响应?
感谢帮助 :)