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");