Shopifyの標準ストアフロントイベント&アクションが、カート属性の更新に対応したとのことです。また、カート属性を書き換えるために updateCart() を呼ぶと、決まった名前のイベントがセットで飛んでくるようになります。

https://shopify.dev/changelog/events-and-actions-cart-attributes-support

たとえばギフトメッセージ欄をカートに自作で追加するとき、その入力内容はカート属性として保存することになります。これまでは、その変更をカートサマリーの表示などにも反映したい場合、変更を知らせる独自のイベントを発火させる処理と、それをキャッチする処理を両方自分で書き、名前を揃えておく必要がありました。updateCart() を使うと、属性を書き換えた時点で shopify:cart:attributes-update という決まった名前のイベントが自動で飛ぶようになったので、反映したい側は、そのイベントをキャッチする処理だけ書けば済みます。

なお updateCart() の attributes は差分ではなく完全な置き換えになります。既存の属性は自動では引き継がれないので、1項目だけ追記・変更したい場合も、先に getCart() で現状の attributes を取得し、JS側で編集してから配列ごと updateCart() に渡す必要があります。

イベントを独自に発火・キャッチする処理を作らなくてよくなるので、Shopify.actionsがテーマファイルのイベント処理のスタンダードになってくれると、イベント管理がしやすくなって助かりますね。

#Shopify

Xで見る