技术相关 · 2014年8月21日

ecshop中实现会员退出时不删除购物车中的信息

ecshop中实现会员退出时不删除购物车中的信息。

思路:

       一、在会员登录时,修改购物车中的 user_id 为当前会员登录的 user_id

             打开 lib_main.php, 找到函数 update_user_info() , 在末尾加上代码:

            /*更新购物车信息*/
            $sql = "UPDATE " .$GLOBALS['ecs']->table('cart'). " SET user_id = '". $_SESSION['user_id'] ."' WHERE session_id = '". SESS_ID ."' ";
             $GLOBALS['db']->query($sql);

二、在会员退出时, 判断 购物车中 如果 user_id 不为 0, 则不删除此条信息。

          打开  cls_session.php , 找到 destroy_session()  函数, 

          修改:

          $this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id'");

为:

          $this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id' AND user_id = 0");