Cart items ブロックはカート内のラインアイテムのリストで、購入者が追加した各商品を、画像、タイトル、バリエーション、価格、数量ステッパー、削除ボタンとともに表示します。必須ブロックであり、カートのサブブロック(Product 行、Subscription upgrade、Custom code)をホストするコンテナとして、行ごとのサブブロックが取り付けられる構造を提供します。

Product行
行自体は、商品画像(可能な場合は商品ページへのリンク付き)、タイトル、バリエーション、価格と取り消し線付きのcompare-at価格、数量ステッパー、削除ボタンを表示します。バンドル行は、その構成品の開閉式リストを表示します。
テキストスタイリング
スタイリングできるテキスト要素はカテゴリごとにグループ化されています。
Product
- Product title — 各行の商品名。カスタムフォントファミリーにも対応。
- Variant — バリエーションラベル(例: Size: Medium)。
- Subscription plan — サブスクリプション行に表示される読み取り専用のプランラベル。
- Price — 行の現在価格。
- Compare-at price — 取り消し線付きの元の価格。
- Savings — 節約ラベル(例: Save $5.00)。サイズと行の高さのみ設定可能 — 太字と色は上のリッチテキストエディタで設定します。
- Bundle toggle — バンドルの構成品リストを展開する開閉ヘッダー。
- Bundle item title — バンドル内の各構成品のタイトル。
- Bundle item variant — 各バンドル構成品のバリエーションラベル。
これらの設定は、Cart itemsブロック内のラインアイテムの割引タグにのみ適用されます。Summaryブロックの割引コードタグは別途スタイリングします。
サブブロックとその配置
- Product行より前に並べたサブブロックは、各行の商品コンテンツの上に表示されます。
- Product行より後に並べたサブブロックは、各行の商品コンテンツの下に表示されます。
動作
- カートにアイテムがない場合、ドロワーは空の状態に切り替わり、このブロックは表示されません。
- カートの変更は一度に1つずつ実行されます。 数量の更新や削除が処理中の間、カートの整合性を保つため行のコントロールは無効になり、変更が確定すると再び有効になります。
- 行の数量を1未満に下げると、その行は削除されます。ストアが拒否する数量(たとえば在庫を超える数量)は、最後の有効な値に再同期されます。
- バンドルは一体として変化します。 バンドルのアンカー行の数量を調整すると、バンドル全体が1回の操作でスケールします。子アイテムがアンカー1つにつき3個含まれている場合、アンカーを1から2にするとその子アイテムは6になります。アンカーを削除すると、バンドルのすべてのメンバーが一度に削除されます。
- 一部のバンドルは数量を変更できません。 バンドルの子アイテムのいずれかが小数の割合(たとえばアンカー1つにつき1.5個)で含まれている場合、そのバンドルの数量ステッパーはロックされます。+/−ボタンと数量フィールドは両方とも無効になり、入力された数量も受け付けられません。バンドルの削除は引き続き可能です。
- サブスクリプション行にはプランが表示されます。 行に販売プランがあり、Subscription upgradeサブブロックがオフまたは未追加の場合、Product行はバリエーションの下に読み取り専用のプランラベル(たとえば Delivers every month (save 30%))を表示します。そのサブブロックが有効な場合は、独自のピッカーでプランを表示するため、読み取り専用ラベルは重複せずに非表示になります。
配置と制限
- リージョン: 本体(body)。
- 最大数: カート状態ごとに1つ。
- 状態: 商品が入ったカートのみ。
- ロックされており、デフォルトで追加されます。 Cart itemsは削除や非表示にできず、位置の変更のみ可能です。
カスタムテンプレート
行のコンテンツ
数量と削除
バンドルのレンダリング
bundle.children にその内容が入っています。子アイテムが独立した行として表示されることはないため、レンダリングしないと購入者はバンドルの中身を確認できません。
key が null になるため、上記のようにインデックスにフォールバックしてください。