使用 Timber 和 Shopify,如何更新购物车预览?
Using Timber and Shopify, how can I update the cart preview?
我在 Shopify 主题中使用 Timber。
我有一个 POST
请求到自定义页面上的 /cart/add
。该项目已正确添加到购物车,但在我的回调中,我需要更新购物车预览 (ajax-cart-template.liquid
)。
我看到 ajax-cart.js
中已经存在一个函数来执行此操作,其中 Handlebars 模板在私有函数中呈现,buildCart()
。
我可以复制 buildCart()
函数中的代码并将其放入我的回调中,但这显然是多余的。我能以某种方式在该范围之外调用 buildCart()
吗?
通过一点点定制,这应该是可行的。
首先,通过将 build: buildCart
添加到
使 buildCart
成为 public 方法
module = {
init: init,
load: loadCart,
build: buildCart
};
当我写这篇文章时,我意识到 loadCart
从未被使用过 publically。哎呀。我想我的想法是,如果有人想重建购物车,他们会调用它 ajaxCart.loadCart()
,它会获取数据并构建它。
因为您已经有了购物车,您可以改为 ajaxCart.build(cart_object)
就可以了。
我在 Shopify 主题中使用 Timber。
我有一个 POST
请求到自定义页面上的 /cart/add
。该项目已正确添加到购物车,但在我的回调中,我需要更新购物车预览 (ajax-cart-template.liquid
)。
我看到 ajax-cart.js
中已经存在一个函数来执行此操作,其中 Handlebars 模板在私有函数中呈现,buildCart()
。
我可以复制 buildCart()
函数中的代码并将其放入我的回调中,但这显然是多余的。我能以某种方式在该范围之外调用 buildCart()
吗?
通过一点点定制,这应该是可行的。
首先,通过将 build: buildCart
添加到
buildCart
成为 public 方法
module = {
init: init,
load: loadCart,
build: buildCart
};
当我写这篇文章时,我意识到 loadCart
从未被使用过 publically。哎呀。我想我的想法是,如果有人想重建购物车,他们会调用它 ajaxCart.loadCart()
,它会获取数据并构建它。
因为您已经有了购物车,您可以改为 ajaxCart.build(cart_object)
就可以了。