2017-06-05 9 views
0

ShopifyのテーマでTimberを使用しています。TimberとShopifyを使用してカートのプレビューを更新するにはどうすればよいですか?

私はカスタムページに/cart/addへのリクエストを持っています。アイテムはカートに正しく追加されますが、コールバックでカートのプレビュー(ajax-cart-template.liquid)を更新する必要があります。

には、これが実行される関数があります。ここでは、Handlebarsテンプレートはプライベート関数buildCart()にレンダリングされています。

buildCart()関数のコードを複製してコールバックに入れることはできますが、それは明らかに冗長です。どういうわけかbuildCart()をその範囲外に呼び出すことができますか?

答えて

1

ごくわずかなカスタマイズで、これを実行する必要があります。私がこれを書いている時点で、私はloadCartが公に使用されることはありません実現

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

まず、にbuild: buildCartを追加することにより、​​パブリックメソッドを作ります。おっとっと。誰かがカートを再構築したいと思ったら、これはajaxCart.loadCart()と呼んで、データを取得してビルドするという考えが私の考えです。

あなたは既にカートを持っているので、ajaxCart.build(cart_object)とするといいですよ。

+1

これは機能しました。カートテンプレートとアイテムの数を更新する 'buildCart()'と 'updateCountPrice()'の両方を呼び出すので、実際には 'buildUpdateCallback()'関数ではなく 'buildCart()'関数ではなく、カート。 'cart'pdateCallback()を' module'オブジェクトに追加するだけで、カスタムページでそれを使用することができました。ありがとう! –

関連する問題