ecshop 实现购物车退出不清空

ecshop模板在使用过程中会遇到会员退出再登陆时购物车里面的商品会被清空掉的,通过ecshop开发中心的技术,整理的文档,对程序做简单修改即可实现会员退出不清空购物车

ECShop版本:V2.7.3

涉及修改文件:

 1. includescls_session.php

2. includeslib_main.php

详细修改记录:

 1. includescls_session.php

第一步:搜索$this->db->query('DELETE FROM ' .$GLOBALS['ecs']->table('cart') . " WHERE session_id ='$this->session_id'");

只有一处(270行左右),将其修改为

$this->db->query('DELETE FROM ' .$GLOBALS['ecs']->table('cart') . " WHERE session_id ='$this->session_id' AND user_id = 0");//只清空匿名用户的购物车 add 68ecshop开发中心  退出不清空购物车*/


2. includeslib_main.php

第一步:搜索function update_user_info()

27行左右,在改函数内部末尾添加如下代码

 /* 更新用户购物车session_id add 68ecshop开发中心 退出不清空购物车*/

$sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET".

            " session_id = '" .SESS_ID . "'".

           " WHERE user_id = '" .$_SESSION['user_id'] . "'";

    $GLOBALS['db']->query($sql);

至此全部修改完成

注:红色代码为所需添加的代码
 

原文地址:https://www.cnblogs.com/wesky/p/5392171.html