← inaro.devShopify学習ツール
10-05

カート①: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.productvariantquantityのほか、final_line_price(割引後の行の金額)とoriginal_line_price(割引前の金額)があります。
propertiesselling_plan_allocationdiscount_allocationsunit_priceも取れます。
keyは、数量変更や削除で行を指定するときに使います。

合計と割引はどう出すか

cart.total_priceは割引後の合計です。
cart.total_discountが割引の合計、cart.items_subtotal_priceが小計です。
割引の内訳はcart.discount_applications(コード割引・自動割引)に入っています。
税込かどうかはcart.taxes_includedで分かります。
空カートはcart.empty?で分岐します。

発展:カートページでできないこと

送料の概算表示は標準機能にないので、ポリシーの文言で補います。
在庫を超える数量は、追加するときに弾かれます。

ステップ1 / 2

ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。