Liquid Snippets by ALSEL
🛒 カート/チェックアウト初級

カートフッターの割引・小計・チェックアウト

カートドロワーの下部に割引適用状況、小計、チェックアウトボタンを表示するスニペット。適用割引があれば金額と共に一覧表示し、セール価格と定価の二重表示にも対応する。

用途
カートドロワーやカートページの下部に、顧客が現在の注文サマリー(割引・合計金額)を確認してからチェックアウトに進めるようにする。
設置場所
snippets/cart-footer.liquid に配置し、カートドロワーまたはカートテンプレートの `{% render 'cart-footer' %}` で呼び出す。カート内容がある場合のみ表示される。
注意点
cart.cart_level_discount_applications はカート全体に適用された割引のみが対象で、商品個別の割引やボリュームディスカウントは含まれない。チェックアウトボタンのクリックで loading クラスが付与されて二重送信を防ぐため、CSS で loading 中の表示(スピナーやボタン無効化)を定義する。税金と配送料は checkout ページで計算されるため、カート画面では表示せず「チェックアウト時に計算」というメッセージ('cart.taxes_shipping_at_checkout_html')で顧客に伝える。
タグ:cartdiscountcheckoutsubtotalcart-drawer

コード

45 行 / liquid
{% if cart.items != empty %}
  <div class="offcanvas-footer pt-5">
    {% if cart.cart_level_discount_applications.size > 0 %}
      <ul 
        class="cart-discounts list-unstyled fs-xs mb-3 text-center alert alert-primary py-2 px-2" 
        aria-label="{{ 'cart.applied_discounts' | t }}">
        {% for discount in cart.cart_level_discount_applications %}
          <li class="">
            {% render 'svg-icons', icon: 'tag', size: 12, class: 'me-1' %}
            {{ discount.title }}
            (-{{ discount.total_allocated_amount | money }})
          </li>
        {% endfor %}
      </ul>
    {%- endif -%}
    <p class="cart-subtotal fs-5 mb-4" role="status">
      <span class="opacity-70 me-2">
        {{ 'cart.subtotal' | t }}: 
      </span>
      <span>
        {% if cart.items_subtotal_price > cart.total_price %}
          <s class="opacity-70 me-2">
            {{ cart.items_subtotal_price | money }}
          </s>
        {% endif %}
        <b>
          {{ cart.total_price | money }}
        </b>
      </span>
    </p>
    {% form 'cart', cart %}
      <button 
        class="btn btn-checkout btn-primary btn-lg" 
        name="checkout" 
        type="submit"
        onclick="this.classList.add('loading')">
        {% render 'svg-icons', icon: 'lock', size: 18, class: 'me-4' %}
        {{ 'cart.checkout' | t }}
      </button>
    {% endform %}
    <p class="small text-center mt-3 mb-n2 fst-italic">
      {{ 'cart.taxes_shipping_at_checkout_html' | t }}
    </p>
  </div>
{% endif %}

出典・ライセンス

License:
MIT

このコードは kondasoft 著作の MIT ライセンスソースです。 原本の著作権は kondasoft が保有します。日本語訳は ALSEL によるものです。

関連項目

🛒 カート/チェックアウト中級

カートドロワー

Shopify の Bundled Section Rendering に対応したカートドロワーセクション。カート更新時に動的にフェッチされ、AJAX で自動的に再レンダリングされる。

📁 ks-bootshop·MIT·6
🛒 カート/チェックアウト中級

カート件数バッジ

カート内の商品件数を表示するバッジを、Shopify の Bundled section rendering 機能で動的に更新する。カート更新時に AJAX で再レンダリングされ、常に最新の件数を表示。

📁 ks-bootshop·MIT·6
🛒 カート/チェックアウト中級

カートドロワー

ページ右側からスライドインするオフキャンバスカートドロワー。商品一覧、メモ機能、フッター情報を1つのコンテナで管理し、アップセル機能にも対応する。

📁 ks-bootshop·MIT·32
🛒 カート/チェックアウト初級

カート注文備考欄

カートページに注文時の備考を記入できるテキストエリアを開閉形式で表示する。テーマ設定で有効化するとカート内容がある場合のみ表示され、JavaScript で自動保存機能に対応する。

📁 ks-bootshop·MIT·37
🛒 カート/チェックアウト初級

カートページの商品一覧

ショッピングカートの内容を一覧表示し、各商品の数量変更と削除機能を提供するテンプレート。カート内の商品数が0の場合は空カート表示、それ以外は商品ごとに画像・タイトル・価格・数量入力欄を出す。

📁 liquid·MIT·67
🛒 カート/チェックアウト中級

カート内の商品一覧

カートに入っている商品を行ごとに表示し、数量変更・削除・割引情報の表示に対応するスニペット。カートが空のときは空カートメッセージを表示する。

📁 ks-bootshop·MIT·118