Spree 购物车在用户登录时被替换而不是合并
Spree shopping cart being replaced instead of merged upon user sign in
使用 Spree 3.0.8
当我执行序列时:
- 以访客用户(未登录)身份将商品添加到购物车;
- 继续结帐(提示登录);
- 登录
我的购物车基本上被登录用户的最新不完整订单所取代。
我希望将客人和未完成的订单合并。
至少这似乎是 spree_auth_devise
代码中的意图。
有人知道为什么会发生这种情况吗?
干杯,
瓦斯科
显然,这是在此提交中引入的:
https://github.com/spree/spree_auth_devise/commit/336b0e4f3a9c38dba36c8deef37549f48f61672f
虽然上面的提交解决了 https://github.com/spree/spree/issues/6578,
它还会丢弃来宾用户的购物车,因为没有关联的电子邮件。
我恢复到旧代码并解决了问题(以引入问题 #6578 为代价,在我的情况下,该问题不适用)。
如果您使用的是过时版本的 Spree 并且不想更新它,您可以采取变通方法来解决此问题。
我所做的是通过登录提交从 Order
发送 guest_token
属性并将其保存在会话变量中。之后,您应该可以在登录完成后找到Order
。
希望对您有所帮助!
使用 Spree 3.0.8
当我执行序列时:
- 以访客用户(未登录)身份将商品添加到购物车;
- 继续结帐(提示登录);
- 登录
我的购物车基本上被登录用户的最新不完整订单所取代。
我希望将客人和未完成的订单合并。
至少这似乎是 spree_auth_devise
代码中的意图。
有人知道为什么会发生这种情况吗?
干杯, 瓦斯科
显然,这是在此提交中引入的: https://github.com/spree/spree_auth_devise/commit/336b0e4f3a9c38dba36c8deef37549f48f61672f
虽然上面的提交解决了 https://github.com/spree/spree/issues/6578, 它还会丢弃来宾用户的购物车,因为没有关联的电子邮件。
我恢复到旧代码并解决了问题(以引入问题 #6578 为代价,在我的情况下,该问题不适用)。
如果您使用的是过时版本的 Spree 并且不想更新它,您可以采取变通方法来解决此问题。
我所做的是通过登录提交从 Order
发送 guest_token
属性并将其保存在会话变量中。之后,您应该可以在登录完成后找到Order
。
希望对您有所帮助!