当用户付款不成功或者取消订单返回网站时,购物车里面的产品已经被清空了,如果是客户主动清除的还好,但是如果是操作失误的原因而未能付款,客户又得重新查找商品,如果商品过多客户没耐心找产品直接走人,那对客源可是一种很大的流失。
Magento是判断如果为第三方的网关作为支付工具的话直接save quote。$this->getOnepage()->getQuote()->save();
修复方法是,判定如果页面转向第三方支付网关如paypal则不保存quote,这样就不会清空购物车;
打开:app/code/core/Mage/Checkout/controllers/OnepageController.php文件
找到这段代码 (约624-631行)
$this->getOnepage()->getQuote()->save();
if (isset($redirectUrl))
{
$result[‘redirect’] = $redirectUrl;
}
修改为:
//$this->getOnepage()->getQuote()->save();
if (isset($redirectUrl))
{
$result[‘redirect’] = $redirectUrl;
}
else
{
$this->getOnepage()->getQuote()->save();
}
然后登陆后台,
选择:系统-》工具-》编译-》运行编译过程。(记得打开编译哦,编译后关了,否则安装插件会报错)
尝试了添加商品到购物车,跳转到PAYPAL的时候故意关闭全部网页,返回时一样保留了购物车,由于是测试,要考虑到订单完成时是否会对购物车的商品进行清除,用
Check / Money order付款方式测试,订单完成时是正常的。
关于作者