2017-06-05 88 views
0

我在Shopify主題中使用Timber使用木材和Shopify,我如何更新購物車預覽?

我有一個POST請求/cart/add在自定義頁面上。該物品已正確添加到購物車中,但在我的回撥中,我需要更新購物車預覽(ajax-cart-template.liquid)。

我看到一個函數已經存在ajax-cart.js這樣做,其中Handlebars模板呈現在私人函數buildCart()

我可以複製buildCart()函數中的代碼,並將其放入我的回調函數中,但這顯然是多餘的。我能以某種方式在該範圍之外撥打buildCart()嗎?

回答

1

隨着一點點的定製,這應該是可行的。

首先,通過增加build: buildCart使​​一個公共方法:

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

我寫這篇文章我意識到loadCart從未公開使用。哎呀。我想我的想法是,如果有人想重建購物車,他們會打電話給這個ajaxCart.loadCart(),它會得到數據並建立它。

既然你已經有了購物車,你可以改爲ajaxCart.build(cart_object),你很好。

+1

這工作。我剛剛意識到我實際上需要'cartUpdateCallback()'函數而不是'buildCart()',因爲該函數同時調用'buildCart()'和'updateCountPrice()',它會更新購物車模板以及購物車。只需將'cartUpdateCallback()'添加到'module'對象,就可以在我的自定義頁面上使用它。謝謝! –

相關問題