configure(config) はカートの動作を設定します。セットアップの呼び出しなので、カートが読み込まれる前のスクリプト冒頭でも安全に呼び出せます。
オプション
open_on_add_to_cart
ストア全体で有効にしたいだけなら、すでに設定が存在します: Cart settings → Content → Behavior → Open cart when an item is added。ページ、買い物客、あるいはコードだけが知っている条件によって答えが変わる場合に
configure を使ってください。open_on_background_add
true に設定すると、バックグラウンドでの追加(Aftersell が検知したが、自身では処理しなかったもの)でもドロワーを開きます。
追加がバックグラウンド扱いになるのは、次のいずれかの場合です:
- Shopify の標準カートイベント経由で届いた場合(トリガーが何であれ、常にバックグラウンドとして扱われます)、または
- Aftersell がカートリクエストを通信上で検知したが、直前の約 3 秒間に信頼できるクリックやキー入力がなかった場合。たとえば、別のアプリやスクリプトがカートに書き込んでいる場合です。
open_on_add_to_cart に従ってドロワーを開くため、このオプションは不要です。
open_on_add_to_cart でも許可されていた場合だけです。open_on_add_to_cart: 'never' の場合、このオプションは何もしません。
validate_form_on_add_to_cart
reportValidity())を実行し、フォームが無効な場合は追加をキャンセルします。商品フォームに、買い物客が現在スキップできてしまう必須フィールド(刻印メッセージ、ギフトメモ、必須のチェックボックス)がある場合に使ってください。
required 属性を持つテーマが、カート追加を静かにブロックし始めてしまうためです。
skip_add_to_cart_interceptor
registerSkipAddToCartRule フックを使ってください:
skip_open_cart_interceptor
true に設定するとクリックを止めなくなります:
/cart に遷移しないという挙動も変わりません。
skip_add_to_cart_interceptor とは違って、こちらはクリックのたびに読み取られるため、ready() の中、イベントハンドラの中、あるいはページごとに条件付きで、いつ設定しても即座に反映されます。
一部のテーマは、カートアイコンのクリックに自身でも反応します。Aftersell がクリックをかき消さなくなると、自分のドロワーを開くタイプのテーマは、あなたのドロワーと並べてそれを開いてしまいます。このオプションを有効にした後にカートが 2 つ表示される場合は、テーマのアイコンに
aftersell-cart-wont-open-cart クラスを付け、actions.open() で自分のハンドラからカートを開いてください。money_format
formatMoney が使う Shopify の金額フォーマットを上書きします。デフォルトはストア自身のフォーマットで、それが利用できない場合、価格は $X.XX にフォールバックします。
configure はマージされ、formatMoney は現在の値を読むため、実行時にフォーマットを変更できます。たとえば通貨スイッチャーが発火したときです:
これは SDK とカートが価格を表示する方法を変えるものです。買い物客に請求される通貨は変わりません。それは Shopify Markets の役割です。