我正在开发opencart 2.0.3.1,在使用Paypal标准支付方式时遇到了这个问题:
当用户使用贝宝结账时,即使下了订单,他的购物车也不会被清空。
清除用户购物车的唯一方法是手动返回成功页面,但这是一种不可靠的方法,因为大多数用户都懒得返回商家的网站。
我正在从以下选项中寻找解决方案:
- opencart扩展,增加了在付款过程中清除购物车的功能
- 清除购物车的代码块,这样我就可以将其粘贴到贝宝支付处理文件中
解决方案:
添加这行代码
$this->cart->clear();
到该文件:catalog/model/checkout/order.php
转到system/library/cart.php
更换
$this->session->data['cart'] = array();
带有
if (isset($this->session->data['customer_id'])) {
$customer_id = $this->session->data['customer_id'];
$this->db->query("UPDATE " . DB_PREFIX . "customer SET cart = '' WHERE customer_id = '" . (int)$customer_id . "'");
}
如果您不愿意硬编码系统文件,也可以为它编写Vqmod。