登录的用户尝试注册-购物车合并

2020-09-24 05:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


方案:用户以hybris登录(软登录或硬登录无关紧要),并且购物车中有一些物品。

他们进入注册页面,注册为新用户并自动登录。这时,发生购物车合并,并且:

  • 新用户从旧用户获取所有购物车商品

  • 老用户(如果您使用他们重新登录)会得到一个空购物车

我想相反的是:为旧用户保存购物车,让新用户获得新的新购物车。

我发现,调用 DefaultCartService :: removeSessionCart()可以解决拥有新的空购物车的问题,但是它也会为旧用户清除购物车。

如何可靠地为旧用户保存购物车,然后从会话中删除它?

或者换句话说,如何在注册过程中强制注销用户,而不进行任何重定向?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


方案:用户以hybris登录(软登录或硬登录无关紧要),并且购物车中有一些物品。

他们进入注册页面,注册为新用户并自动登录。这时,发生购物车合并,并且:

  • 新用户从旧用户获取所有购物车商品

  • 老用户(如果您使用他们重新登录)会得到一个空购物车

我想相反的是:为旧用户保存购物车,让新用户获得新的新购物车。

我发现,调用 DefaultCartService :: removeSessionCart()可以解决拥有新的空购物车的问题,但是它也会为旧用户清除购物车。

如何可靠地为旧用户保存购物车,然后从会话中删除它?

或者换句话说,如何在注册过程中强制注销用户,而不进行任何重定向?

付费偷看设置
发送
1条回答
天桥码农
1楼-- · 2020-09-24 05:56

只是一个简短的更新:我当前的解决方案是使用 de.hybris.platform.order.impl.DefaultCartService

中的这一行:

getSessionService()。removeAttribute(SESSION_CART_PARAMETER_NAME);

从会话中删除该属性会强制创建一个新的空cnd,使旧的cnd保留为旧用户保存。

肯定有更好的解决方案,但这至少可以解决问题。

一周热门 更多>