【问题标题】:Using Timber and Shopify, how can I update the cart preview?使用 Timber 和 Shopify,如何更新购物车预览?
【发布时间】:2017-06-05 20:22:44
【问题描述】:

我在 Shopify 主题中使用 Timber

我在自定义页面上有一个POST/cart/add 的请求。该项目已正确添加到购物车,但在我的回调中,我需要更新购物车预览 (ajax-cart-template.liquid)。

我看到ajax-cart.js 中已经存在一个函数来执行此操作,其中在私有函数buildCart() 中呈现了Handlebars 模板。

我可以复制buildCart() 函数中的代码并将其放入我的回调中,但这显然是多余的。我可以在该范围之外以某种方式调用buildCart() 吗?

【问题讨论】:

标签: ajax shopify cart timber


【解决方案1】:

通过一点点自定义,这应该是可行的。

首先,将build: buildCart 添加到以下位置,使buildCart 成为公共方法:

module = {
  init: init,
  load: loadCart,
  build: buildCart
};

在我写这篇文章时,我意识到loadCart 从未公开使用过。哎呀。我想我的想法是,如果有人想重建购物车,他们会打电话给ajaxCart.loadCart(),它会获取数据并构建它。

由于您已经拥有购物车,您可以改为使用ajaxCart.build(cart_object),然后您就可以开始了。

【讨论】:

  • 这行得通。我刚刚意识到我实际上想要的是cartUpdateCallback() 函数而不是buildCart(),因为该函数同时调用buildCart()updateCountPrice(),它会更新购物车模板和购物车中的商品数量。只需将cartUpdateCallback() 添加到module 对象,我就可以在我的自定义页面上使用它。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
  • 2020-12-06
  • 2015-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多