如何使用Ajax从Cratejoy获取购物车详细信息?

时间:2015-10-26 14:14:24

标签: javascript jquery ajax cratejoy

我正在为cratejoy开发自定义前端模板并托管在他们的服务器上,但在我通过他的api订阅产品后,我找不到任何api来获取我的购物车详情,所以我想知道如何做到了吗?

1 个答案:

答案 0 :(得分:3)

如果您在结帐页面上,则会设置购物车对象。在其他页面上,您可以通过调用active_cart()来访问该对象。

所以在大多数页面上你会这样做:

{% set cart = active_cart() %}
Cart id: {{ cart.id }}
Cart anon_id: {{ cart.anon_id }}

但是在chechout.html上你可以做到:

Cart id: {{ cart.id }}
Cart anon_id: {{ cart.anon_id }}

Cratejoy的Page Variable Type文档中包含购物车属性的部分列表,但您可以通过调用{{ cart.dict() }}获得更完整的列表。除了显示的内容之外,它还有几个关系:

  • cart.products
  • cart.gifts(如果你有礼物的旧版本 - 否则他们只是在cart.products下)
  • cart.coupons
  • cart.gift_cards

您可以循环浏览这些并访问购物车中/上的对象。例如:

{% for coupon in cart.coupons %}
  {{ coupon.code_used }}
{% endfor %}

这些其他对象应该主要涵盖在上面链接的同一文档中,但每当我想要一个对象的真实属性列表时,我通常只会输入{{ obj.dict() }}

值得注意的是,当您在结帐后点击确认页面时,会创建一个新的空白购物车(null anon_id,因为您现在已经登录)。在thank_you.html上,您通常希望查看订单对象而不是购物车对象。