ティア、マーケットごとのルール、プログレスバーを備えたマーチャント設定可能なバージョンには、コード不要のRewardsブロックを使用してください。これは、あなたのルールがブロックでは表現できない場合のためのものです。
スニペット
仕組み
reconcileGift**はカートがあるべき状態を記述し、そこに到達するために最大1つの変更を行います。
- 条件を満たしていてギフトがない →
addItemで追加します。 - 条件を満たしておらずギフトがある →
removeItemでラインのkeyを指定して削除します。 - それ以外 → 何もしません。
cart_loaded(ページ読み込み時にすでに条件を満たしているカートにギフトが追加される)とcart_updated(その後のすべての変更に反応する)の両方で実行されます。cart_loadedは遅れてサブスクライブした場合にも再生されるため、スクリプトがいつ実行されても機能します。
ギフトを追加するとカート合計が上がるため、商品価格に近いしきい値では振動が発生する可能性があることに注意してください。$0のギフトを追加するのは安全ですが、価格のあるギフトはそれ自体でカートをしきい値以上に押し上げる可能性があります。ギフトは無料にするか、ギフトを除外した合計と比較してください。
応用
contextを読み取ります。
ライントランスフォームではラインの数量コントロールを非表示にすることはできません — 使用できるセッターは
setTitle、setVariantTitle、setHidden、setInternalPropertiesのみです。購入者がギフトの数量を変更した場合は、代わりにcart_updatedハンドラーから修正してください。次に読むべきページ
- Rewardsブロック:ティア付きのノーコード版。
- アクション:
addItem、removeItemなど。 - イベント:ガードが重要な理由。