我遇到了下面的错误
发布于 2017-03-16 16:15:24
它似乎是CE 1.9中的一个bug
在Mage_Checkout_CartController::couponPostAction()中有一个新的会话值集
$this->_getSession()->setCartCouponCode($couponCode);恢复Mage_Checkout_Model_Type_Onepage::_setCartCouponCode()中的优惠券代码。
protected function _setCartCouponCode()
{
if ($couponCode = $this->getCheckout()->getCartCouponCode()) {
$this->getQuote()->setCouponCode($couponCode);
}
return $this;
}我通过事件/观察者解决了这个问题。
<events>
<controller_action_predispatch_checkout_cart_couponPost>
<observers>
<remove_session_coupon_code>
<type>singleton</type>
<class>yourmodule/observer</class>
<method>removeCoupon</method>
</remove_session_coupon_code>
</observers>
</controller_action_predispatch_checkout_cart_couponPost>
</events>以及:
public function removeCoupon(Varien_Event_Observer $observer)
{
$controller = $observer->getControllerAction();
if ($controller->getRequest()->getParam('remove') == 1) {
Mage::getSingleton("checkout/session")->unsetData('cart_coupon_code');
}
return $this;
}https://stackoverflow.com/questions/42839090
复制相似问题