您现在的位置是:首页 > cms教程 > ecshop商城教程ecshop商城教程
ecshop修改处理用户购物车的行为的方法
沛珊2025-01-06 15:30:55ecshop商城教程已有3人查阅
导读Ecshop v2.7.3的购物车处理方面在现在看来有比较反用户体验的设计:用户未登录时加入购物车的商品,在用户登录后会被清空而不是加入到登录用户的购物车中;
Ecshop v2.7.3的购物车处理方面在现在看来有比较反用户体验的设计:用户未登录时加入购物车的商品,在用户登录后会被清空而不是加入到登录用户的购物车中;
用户登录后加入购物车的商品,在退出后会被清空。
这两种设计在现在看来简直不可理喻,对用户极不友好,作为一个以流量至上的商城,这样的设计会导致客户的流失。
查看源码才发现,ecshop是以session_id作为保存购物车商品的依据,而不是用户id。个人认为这样的设计是由于其以下单为主,用户有没有注册都可以直接下单,这样就导致其整套逻辑以"会话”为主体。
修改ecshop购物车行为,使其以客户为主,具体设计是:
用户登录后加入购物车的商品,退出后依然保留;
用户未登录时加入购物车的商品:
如果用户登录,则合并到客户的购物车中;
如果未登录即关闭,则保存到cookie中一段时间(ecshop本身已实现)
策略:
1.登录前用session_id,登录后用user_id查看,操作购物车数据;
2.用户登录后,更新合并购物车数据;
3.用户登出后,依然有无主商品的话,删除。
lib_main.php添加。 核心代码
cls_session.php修改函数 flow.php 在act=login,已登录的处理函数后;act=add_to_cart 加入购物车后,user.php action=act_login登录后加上
1 update_user_info(); //更新用户信息
2 /*如果用户已登录且其在未登录时将商品加入了购物车,那么将未登录时的购物车与用户之前的购物车商品合并*/
3 update_user_cart();//新加上
4 recalculate_price(); // 重新计算购物车中的商品价格
flow.php , lib_insert.php,lib_main.php,lib_order.php , lib_transaction.php ,order.php 等内容中的 session_id='".SESS_ID."'"改为 rec_select();
测试看看。
用户登录后加入购物车的商品,在退出后会被清空。
这两种设计在现在看来简直不可理喻,对用户极不友好,作为一个以流量至上的商城,这样的设计会导致客户的流失。
查看源码才发现,ecshop是以session_id作为保存购物车商品的依据,而不是用户id。个人认为这样的设计是由于其以下单为主,用户有没有注册都可以直接下单,这样就导致其整套逻辑以"会话”为主体。
修改ecshop购物车行为,使其以客户为主,具体设计是:
用户登录后加入购物车的商品,退出后依然保留;
用户未登录时加入购物车的商品:
如果用户登录,则合并到客户的购物车中;
如果未登录即关闭,则保存到cookie中一段时间(ecshop本身已实现)
策略:
1.登录前用session_id,登录后用user_id查看,操作购物车数据;
2.用户登录后,更新合并购物车数据;
3.用户登出后,依然有无主商品的话,删除。
lib_main.php添加。 核心代码
cls_session.php修改函数 flow.php 在act=login,已登录的处理函数后;act=add_to_cart 加入购物车后,user.php action=act_login登录后加上
1 update_user_info(); //更新用户信息
2 /*如果用户已登录且其在未登录时将商品加入了购物车,那么将未登录时的购物车与用户之前的购物车商品合并*/
3 update_user_cart();//新加上
4 recalculate_price(); // 重新计算购物车中的商品价格
flow.php , lib_insert.php,lib_main.php,lib_order.php , lib_transaction.php ,order.php 等内容中的 session_id='".SESS_ID."'"改为 rec_select();
测试看看。
本文标签:
很赞哦! (1)
暂无内容 |
暂无内容 |
暂无内容 |
暂无内容 |
随机图文
ecshop后台订单列表显示配送方式方法
熟悉ECSHOP后台的人都知道,只有点击某个具体的订单,进入订单详细页面才能看到该订单的配送方式,本次修改的目的ecshop微信商城设置微信插件安装方法及微信支付设置教程
ECTouch后台使用教程1.基本设置:次安装好后,默认同步ecshop后台网站基本配置,但可以单独修改配置。ecshop调用指定分类下文章的方法
ecshop调用指定文章分类的方法,例如调用分类ID为5的文章,1、先打开index.php文件找到以下代码:2、在lib_goods.php增加以下函数ecshop的qq客服无法发起临时会话解决方法
ECHSOP qq客服无法发起临时会话解决方法:抱歉,无法发起临时会话,您可以添加对方为好友以发送消息把QQ客服在线聊天代码改成:
留言与评论 (共有 0 条评论) |