返回OnePage Checkout时,如何恢复Magento中的报价?
-
11-10-2019 - |
题
我正在使用Datacash 3D安全付款模块的Magento Enterprise。
如果在付款过程中出现错误的情况下,我希望用户完好无损地返回到Onepage Checkout。当前,当用户返回到结帐时,篮子为空,因此将他们转发到“结帐/购物车”,因为他们没有项目。
我认为我的代码可能是一个问题,因此我将初始付款操作立即重定向,错误回到OnePage Checkout。
public function redirectAction() {
Mage::getSingleton('core/session')->addError("There was a problem with the payment gateway. Please try again");
$session = Mage::getSingleton('checkout/session');
return $this->_redirect('checkout/onepage/', array('_secure'=>true));
}
但是,返回结帐页面时,篮子为空。将以下日志添加到OnePage Checkout的索引中,我得到了“报价”。在数据库中查看报价已将其活动状态设置为0。
error_log("Quote ".Mage::getSingleton('checkout/session')->getQuoteId());
我并没有只使用企业来遇到标准的洋红色问题。有人遇到这个问题吗?理想情况下,我不希望客户再次将产品添加到篮子里。它就像与某种Magento Enterprise模块的冲突。
在此先感谢您的任何帮助!
解决方案
基本上,您回答了自己的问题。加载报价(如果不可用)并执行此操作:
$yourQuote()->setIsActive(true);
不隶属于 StackOverflow