カート①:cartオブジェクトとカートページ
カートページで明細・数量更新・メモ・属性・割引を表示し、チェックアウトへ送れる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、cartオブジェクトの値を漏れなく出すカートページを作れるようになります。
受託では、割引の内訳や税込表示を出しておくだけで、「合計が合わない」という問い合わせが減ります。
カートページはどう構成するか
templates/cart.jsonからmain-cartセクションを出します。{% form 'cart', cart %}の送信先は/cartです。
数量はupdates[]、メモはnote、属性はattributes[配送希望日]というnameで送ります。<button name="checkout">で/checkoutへ進み、name="update"で更新します。
この約束事を守れば、JSなしで数量更新とチェックアウトが動きます。
明細(line_item)から何が取れるか
item.product・variant・quantityのほか、final_line_price(割引後の行の金額)とoriginal_line_price(割引前の金額)があります。properties・selling_plan_allocation・discount_allocations・unit_priceも取れます。keyは、数量変更や削除で行を指定するときに使います。
合計と割引はどう出すか
cart.total_priceは割引後の合計です。cart.total_discountが割引の合計、cart.items_subtotal_priceが小計です。
割引の内訳はcart.discount_applications(コード割引・自動割引)に入っています。
税込かどうかはcart.taxes_includedで分かります。
空カートはcart.empty?で分岐します。
発展:カートページでできないこと
送料の概算表示は標準機能にないので、ポリシーの文言で補います。
在庫を超える数量は、追加するときに弾かれます。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。