Skip to main content
configure(config) はカートの動作を設定します。セットアップの呼び出しなので、カートが読み込まれる前のスクリプト冒頭でも安全に呼び出せます。
複数回呼び出すことができ、値はマージされます。後の呼び出しは指定したキーだけを上書きし、残りはそのままです。
undefined を渡すと、キーはスキップされるのではなくクリアされます。 configure({ open_on_add_to_cart: undefined }) はそのオプションをデフォルトにリセットし、以前の呼び出しで設定された値を破棄します。オプションに触れたくない場合は、キー自体を省略してください。

オプション


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 秒間に信頼できるクリックやキー入力がなかった場合。たとえば、別のアプリやスクリプトがカートに書き込んでいる場合です。
Aftersell が通信上で検知した追加でも、買い物客のクリックに続いて行われたものはバックグラウンド追加ではありません。それはすでに open_on_add_to_cart に従ってドロワーを開くため、このオプションは不要です。
これは上書きではなく、追加のゲートです。バックグラウンド追加でドロワーが開くのは、open_on_add_to_cart でも許可されていた場合だけです。open_on_add_to_cart: 'never' の場合、このオプションは何もしません。
サードパーティの追加ボタンがアイテムを正しく追加するのにドロワーが閉じたままの場合に、これを使ってください。アイテムがそもそもカートに届かない場合は、インターセプトの問題です。skip_add_to_cart_interceptorページビルダーのユースケースを参照してください。

validate_form_on_add_to_cart

追加の前にブラウザのネイティブなフォーム検証(reportValidity())を実行し、フォームが無効な場合は追加をキャンセルします。商品フォームに、買い物客が現在スキップできてしまう必須フィールド(刻印メッセージ、ギフトメモ、必須のチェックボックス)がある場合に使ってください。
ブラウザは、問題のあるフィールドに独自の検証メッセージを表示します。デフォルトでオフになっているのは、商品フォームのどこかに紛れ込んだ required 属性を持つテーマが、カート追加を静かにブロックし始めてしまうためです。

skip_add_to_cart_interceptor

Aftersell のカート追加インターセプトを完全にオフにします。インターセプトが何をするのか、そしてオプトアウトするあらゆる方法については、カート追加のインターセプトを参照してください。 こうするとテーマ自身が追加を実行し、その submit を待ち受けるすべてのスクリプトが再び動作します。Aftersell は引き続きカートリクエストを通信上で監視するため、ドロワーはいつもどおり開きます。オプトアウトしてもドロワーが失われることはありません。Aftersell が認識するテーマでは、テーマ自身のカートは動かないままになるので、カートが 2 つ表示されることはありません。認識しないテーマでは、テーマが自分のカートをあなたのカートと並べて開いてしまう可能性があります。テーマのカートも開いてしまう?を参照してください。
このオプションは起動時に一度だけ読み取られます。カートが読み込まれる前に実行されるセットアップの呼び出し、つまりカートの Initialization スクリプトからのみ機能します。後から(ready() の中やイベントハンドラから)設定しても効果はなく、何のエラーも出さずに失敗します。
これはページ上のすべてのフォームのインターセプトを無効にする大雑把な手段です。1 つのフォームだけを除外するには、代わりに registerSkipAddToCartRule フックを使ってください:

skip_open_cart_interceptor

カートアイコンをクリックすると Aftersell のドロワーが開きます。これを確実に実現するため、Aftersell はクリックを止めて、ページ上の他の何にも処理されないようにします。これは同時に、あなたのスクリプトからもクリックが見えなくなることを意味します。カートアイコン以外ではアナリティクスやピクセルのイベントが発火するのに、カートアイコンだけで発火しないなら、これが原因です。 true に設定するとクリックを止めなくなります:
これで自分のリスナーが実行されるようになり、ドロワーは今までとまったく同じように開きます。クリックが /cart に遷移しないという挙動も変わりません。
このオプションは名前が示すほどのことはしません。 カートアイコンのインターセプター自体をスキップするわけではありません。他のリスナーをかき消すのを止めるだけです。Aftersell は引き続きクリックを処理し、あなたのカートを開きます。Aftersell に完全に無視させたいコントロールがある場合は、代わりに aftersell-cart-wont-open-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 の役割です。

次のステップ

  • アクション: カートを読み取り、変更します。
  • フック: configure では大雑把すぎる場合の、フォームごと・ラインごとの制御。
  • ユースケース: よくある要望に対する完全なソリューション。