我们看到某些订单的购物车属性丢失,并且已将其追溯到启用结帐的“帐户是可选的”设置并且提交购物车表单以进行结帐时的情况。如果用户没有看到登录或可选的结帐作为访客屏幕,他们首先被重定向到这里。在这个阶段,无论在 POST 中提交的用于结帐的新购物车属性都不会保留,并且在用户继续到结帐屏幕时会丢失。
这是我们收集到的证据...
1)在购物车表单提交结帐之前/cart.js的值确认当前没有与购物车一起保存的属性... http://cl.ly/PF62
2) 在查看我们的购物车页面时,我们使用 jQuery 来确认将在购物车更新或结帐 POST 时添加的属性:
> var inputs = jQuery('form#cartform').serializeArray();
> for (var x=0;x<inputs.length;x++) {
console.log(inputs[x].name + ': ' + inputs[x].value);
}
> updates[201564942]: 1
note:
attributes[delivery_note]:
attributes[referrer_dropdown]: Choose One
attributes[referrer_text]:
attributes[speaker]:
attributes[search_keywords]:
attributes[backordered-haven-82-inch-solid-wood-media-console-espresso-on-oak]: Ships in: about 6 weeks
attributes[backordered-po-haven-82-inch-solid-wood-media-console-espresso-on-oak]: None
3)在尝试正常结帐之前,jQuery.clone() 表单,并将其更改为提交到http://requestb.in url 以验证发布的元素。这是确认所有输入项都已正确发布的结果... http://cl.ly/PG9h
4)现在正常提交表格并最终进入帐户/登录视图... http://cl.ly/PEzJ
5)现在再次检查/cart.js ...没有保存到属性的更改... http://cl.ly/PF4w
6) 现在以访客身份点击结帐,然后在结帐的第一个屏幕上结束。
7) 返回 /cart 页面
8)再次点击Checkout,这次没有重定向,我们直接去checkout。
9) 现在再次检查 /cart.js ... http://cl.ly/PFS3
10)EUREKA,本次保存购物车属性。
即使作为 Shopify 开发人员,可以通过在 POST 结帐之前强制在后台更新购物车 POST 来解决此问题,但这似乎是一个需要修复的错误。有点令人惊讶的是,论坛上的其他地方或 SO 上似乎没有关于此的喋喋不休。
请指教,谢谢。