リファレンス

Shopping Cart 拡張アプリで提供している機能についてのリファレンスです。

GETモジュール

Shopping Cart 拡張アプリで提供している GET モジュールについてのリファレンスです。

ショッピングカートサマリー
ShoppingCart_Summary
カート内エントリー(商品)の一覧を表示
ショッピングカートセッティングス
ShoppingCart_Settings
ShoppingCart拡張アプリの設定を表示
オーダーサマリー
Order_Summary
注文情報を表示
ショッピングカート
ShoppingCart
カートへの追加・削除・更新などの処理を行った結果を表示
シッピンググループアドミンセレクト
ShippingGroup_AdminSelect
Ver. 2.1.0〜
エントリー編集画面で選択可能な配送グループを表示
ペイメントセレクト
Payment_Select
Ver. 2.1.0〜
決済フォームで選択可能な決済方法を表示
アディションセレクト
Addition_Select
Ver. 2.1.0〜
決済フォームで選択可能な追加手数料を表示
ショッピングフォーム
ShoppingForm
決済フォームの表示
ショッピングフォーム ナウ
ShoppingForm_Now
今すぐ決済フォームの表示

ShoppingCart_Summary

カート内エントリー(商品)の一覧を表示できます。モジュールID設定 > 条件設定 > 引数 でブログIDを指定することで、指定したブログのカート内容を表示できます。

Order_Summary

カートの注文内容(注文商品、決済方法、追加手数料、注文金額)を表示します。POSTリクエスト(ShoppingForm_XXXモジュールでの送信)に配送地域、決済方法、追加手数料のデータをカスタムフィールド形式で送信した場合、配送料、決済手数料、追加手数料の金額も表示できます。

また、モジュールID設定 > 条件設定 > 引数のエントリーIDを指定することで、商品(エントリー)1つの注文内容を表示できます。(Ver. 2.1.0より、エントリーIDを指定しなくても、商品(エントリー)1つの注文内容を表示できるようになりました。)今すぐ購入フォームを実装する場合に利用できます。

タッチモジュール

Shopping Cart 拡張アプリで提供しているタッチモジュールについてのリファレンスです。

Touch_CartItem カートに商品が存在するときのみ表示する ソース
<!-- BEGIN_MODULE Touch_CartItem -->
<!-- END_MODULE Touch_CartItem -->
Touch_NotCartItem カートに商品が存在しないときのみ表示する ソース
<!-- BEGIN_MODULE Touch_NotCartItem -->
<!-- END_MODULE Touch_NotCartItem -->

POST モジュール

Shopping Cart 拡張アプリで提供している POST モジュールについてのリファレンスです。



モジュール名 概要
ShoppingCart_AddItem カートに商品を追加・更新します。
ShoppingCart_RemoveItem カートから商品を削除します。
ShoppingCart_Update_Quantity カートアイテムの数量を更新します。
ShoppingForm_Confirm 購入フォームを別のステップに遷移します。
ShoppingFrom_Submit 購入フォームを送信します。標準のFrom_Submitモジュールの機能に加えて、在庫管理や決済処理を行います。
ShoppingForm_ConfirmNow 今すぐ購入フォームを別のステップに遷移します。
ShoppingFrom_SubmitNow 今すぐ購入フォームを送信します。標準のFrom_Submitモジュールの機能に加えて、在庫管理や決済処理を行います。

ShoppingCart_AddItem

ShoppingCart_AddItem モジュールは、カートに商品を追加・更新するためのモジュールです。

フィールド

以下のフィールドを指定して実行できます。



フィールド 概要 備考
eid カートに追加するエントリー(商品)のエントリーID 必須
quantity カートに追加する数量を数値で指定 必須, 数値

カートアイテムには、上記の項目に加えて独自のデータをカスタムフィールドの形式で追加することができます。以下のソースコードは、カラーとサイズの項目をカートのカスタムフィールドとして追加する際のテンプレート例です。

<!-- BEGIN_MODULE ShoppingCart -->
<!-- BEGIN add -->
<!-- BEGIN_IF [{status}/eq/success] -->
<p class="acms-alert acms-alert-success">カートに商品を追加しました。</p>
<!-- ELSE -->
<p class="acms-alert acms-alert-danger">カートに商品を追加できませんでした。</p>
<!-- END_IF -->

<form action="" method="post" enctype="multipart/form-data">
    <div class="entry-price-bottom-box">
      <table class="entry-item-select-table">
        <tr>
          <th>色選択</th>
          <td>
            <select name="item_color">
              <option value="">選択してください</option>
              <option value="赤">赤色</option>
              <option value="黄">黄色</option>
            </select>
            <input type="hidden" name="field[]" value="item_color" />
          </td>
        </tr>
        <tr>
          <th>サイズ</th>
          <td>
            <select name="item_size">
              <option value="">選択してください</option>
              <option value="S">S</option>
              <option value="M">M</option>
              <option value="L">L</option>
            </select>
            <input type="hidden" name="field[]" value="item_size" />
          </td>
        </tr>
        <tr>
          <th>個数</th>
          <td>
            <select name="quantity" class="acms-admin-form-width-full">
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
            </select>
            <input type="hidden" name="cart[]" value="quantity">
            <div role="alert" aria-live="assertive">
              <div
                data-validator-label="quantity-v-required"
                class="validator-result-{quantity:validator#required}"
              >
               <p class="form-error-text">数量を選択してください。</p>
              </div>
            </div>
            <div role="alert" aria-live="assertive">
              <div
                data-validator-label="quantity-v-regex"
                class="validator-result-{quantity:validator#regex}"
              >
               <p class="form-error-text">数量の形式が間違っています。</p>
              </div>
            </div>
            <div role="alert" aria-live="assertive">
              <div
                data-validator-label="quantity-v-min"
                class="validator-result-{quantity:validator#min}"
              >
               <p class="form-error-text">1未満の数量は選択できません。</p>
              </div>
            </div>
            <div role="alert" aria-live="assertive">
              <div
                data-validator-label="quantity-v-stock"
                class="validator-result-{quantity:validator#stock}"
              >
               <p class="form-error-text">注文可能な数量を超えています。</p>
              </div>
            </div>
          </td>
        </tr>
      </table>
    </div>
    <button class="btn is-width-full" type="submit" name="ACMS_POST_ShoppingCart_AddItem">
      <span>カートに入れる</span>
    </button>
    <input type="hidden" name="eid" value="%{EID}">
    <input type="hidden" name="cart[]" value="eid">
</form>
<!-- END add -->
<!-- END_MODULE ShoppingCart -->

エラー時の表示

ShoppingCart_AddItem モジュール実行時に何らかのエラーが起きた場合には以下のフィールド(項目)がバリデーションエラーとして表示されます。



フィールド(項目)名 オプション名 概要
eid required カートに追加したい商品のエントリーIDが指定されていなかった場合に発生します。
quantity required カート追加したい数量が指定されていなかった場合に発生します。
quantity regex 数量の形式が符号なし整数でない場合に発生します。
quantity min 1未満の数量を指定した場合に発生します。
quantity stock 商品の在庫数を超えた数量を選択した場合に発生します。

ShoppingCart_RemoveItem

ShoppingCart_RemoveItem モジュールは、カートから商品を削除するためのモジュールです。

フィールド

以下のフィールドを指定して実行できます。



フィールド 概要 備考
eid カートから削除するエントリー(商品)のエントリーID 必須

以下はカートからエントリー(商品)を削除するサンプルコードです。

<!-- BEGIN_MODULE ShoppingCart -->
<!-- BEGIN remove -->
<!-- BEGIN_IF [{status}/eq/success] -->
<p class="acms-alert acms-alert-success">カートから商品を削除しました。</p>
<!-- ELSE -->
<p class="acms-alert acms-alert-danger">カートから商品を削除できませんでした。</p>
<!-- END_IF -->
<form action="" method="post" enctype="multipart/form-data"">
    <button class="btn" type="submit" name="ACMS_POST_ShoppingCart_RemoveItem">
      <span>カートから削除する</span>
    </button>
    <input type="hidden" name="eid" value="%{EID}">
    <input type="hidden" name="cart[]" value="eid">
</form>
<!-- END remove -->
<!-- END_MODULE ShoppingCart -->

エラー時の表示

ShoppingCart_RemoveItem モジュール実行時に何らかのエラーが起きた場合には以下のフィールド(項目)がバリデーションエラーとして表示されます。



フィールド(項目)名 オプション名 概要
eid required カートから削除したい商品のエントリーIDが指定されていなかった場合に発生します。

ShoppingCart_Update_Quantity

ShoppingCart_Update_Quantity モジュールは、カートアイテムの数量を更新するためのモジュールです。

フィールド

以下のフィールドを指定して実行できます。



フィールド 概要 備考
eid 数量を更新するカートアイテムのエントリーID 必須
quantity 更新する数量 必須, 数値

以下はカート内エントリー(商品)の数量を更新するサンプルコードです。

<!-- BEGIN_MODULE ShoppingCart -->
<!-- BEGIN update.quantity -->
<!-- BEGIN_IF [{status}/eq/success] -->
<p class="acms-alert acms-alert-success">カート内商品の数量を更新しました。</p>
<!-- ELSE -->
<p class="acms-alert acms-alert-danger">カート内商品の数量を更新できませんでした。</p>
<!-- END_IF -->

<form action="" method="post" enctype="multipart/form-data">
    <input  type="number" name="quantity" min="1" value="" >
    <input type="hidden" name="cart[]" value="quantity" >
    <div role="alert" aria-live="assertive">
      <div
        data-validator-label="quantity-v-required"
        class="validator-result-{quantity:validator#required}"
      >
        <p class="form-error-text">数量を入力してください。</p>
      </div>
    </div>
    <div role="alert" aria-live="assertive">
      <div
        data-validator-label="quantity-v-regex"
        class="validator-result-{quantity:validator#regex}"
      >
        <p class="form-error-text">数量の形式が間違っています。</p>
      </div>
    </div>
    <div role="alert" aria-live="assertive">
      <div
        data-validator-label="quantity-v-min"
        class="validator-result-{quantity:validator#min}"
      >
        <p class="form-error-text">1未満の数量は選択できません。</p>
      </div>
    </div>
    <div role="alert" aria-live="assertive">
      <div
        data-validator-label="quantity-v-stock"
        class="validator-result-{quantity:validator#stock}"
      >
        <p class="form-error-text">注文可能な数量を超えています。</p>
      </div>
    </div>
    <button class="btn" type="submit" name="ACMS_POST_ShoppingCart_Update_Quantity">
      <span>数量を更新する</span>
    </button>
    <input type="hidden" name="eid" value="%{EID}">
    <input type="hidden" name="cart[]" value="eid">
</form>
<!-- END update.quantity -->
<!-- END_MODULE ShoppingCart -->

エラー時の表示

ShoppingCart_Update_Quantity モジュール実行時に何らかのエラーが起きた場合には以下のフィールド(項目)がバリデーションエラーとして表示されます。



フィールド(項目)名 オプション名 概要
eid required 数量を更新したいカート内商品のエントリーIDが指定されていなかった場合に発生します。
quantity required 数量が指定されていなかった場合に発生します。
quantity regex 数量の形式が符号なし整数でない場合に発生します。
quantity min 1未満の数量を指定した場合に発生します。
quantity stock 商品の在庫数を超えた数量を選択した場合に発生します。

ShoppingCart モジュール

ShoppingCart モジュール は カートへの追加・削除・更新などのPOST処理を行った結果を表示する GET モジュールです。表示できる変数やブロックについては拡張アプリ管理画面から変数表を確認してください。

ShoppingForm_Confirm

ShoppingForm_Confirm モジュールは、Form_Confirm モジュールを継承して作成されたモジュールです。Form_Confirm モジュールの機能に加えて以下のことを行っています。

  • カートに在庫数を購入数が超過したアイテムが存在する場合、shoppingError ステップに遷移する

ShoppingForm_Submit

ShoppingForm_Submit モジュールは、Form_Submit モジュールを継承して作成されたモジュールです。Form_Submit モジュールの機能に加えて以下のことを行っています。

  • カートに在庫数を購入数が超過したアイテムが存在する場合、shoppingError ステップに遷移する
  • 決済処理
  • 在庫管理(注文数分の在庫数を減らす)
  • 購入フォームの送信が成功した場合、カート内商品の削除

ShoppingForm_ConfirmNow

ShoppingForm_ConfirmNow モジュールは 今すぐ決済フォームを実装するためのPOSTモジュールです。今すぐ決済フォームを実装することでカートを経由することなく、商品を購入できます。

ShoppingForm_SubmitNow

ShoppingForm_SubmitNow モジュールは 今すぐ決済フォームを実装するためのPOSTモジュールです。今すぐ決済フォームを実装することでカートを経由することなく、商品を購入できます。

グローバル変数

Shopping Cart 拡張アプリで提供しているグローバル変数についてのリファレンスです。



%{PAYMENT_SERVICE} Shopping Cart 設定 > 基本設定 > 決済サービス設定で設定した決済サービス(square)を表示
%{SQUARE_JS} square を利用した決済を行う場合に必要な JavaScript のURL
%{TAX_EXPRESSION_FORMAT} Shopping Cart 設定 > 基本設定 > 税金設定で設定した消費税区分(intax | extax)
%{TAX_CALC_METHOD} Shopping Cart 設定 > 基本設定 > 税金設定で設定した税計算方式(rebate | pileup)
%{TAX_ROUNDING_METHOD} Shopping Cart 設定 > 基本設定 > 税金設定で設定した税計算端数処理方式(floor | round | ceil)
%{INVOICE_NUMBER} Shopping Cart 設定 > 基本設定 > 適格請求書発行事業者の設定で設定した登録番号
%{INVOICE_NAME} Shopping Cart 設定 > 基本設定 > 適格請求書発行事業者の設定で設定した氏名または名称
%{SHIPPING_DATE_FROM} Shopping Cart 設定 > 注文画面設定 > 配送設定で設定した配送希望日の選択肢(開始)
%{SHIPPING_DATE_TO} Shopping Cart 設定 > 注文画面設定 > 配送設定で設定した配送希望日の選択肢(終了)
%{SHIPPING_FREE_SUBTOTAL} Shopping Cart 設定 > 注文画面設定 > 送料設定で設定した送料無料のしきい値(小計)
%{SHIPPING_FREE_SUBTOTAL_FORMATTED}
Ver. 2.1.0〜
%{SHIPPING_FREE_SUBTOTAL} をフォーマットした文字列
%{SHIPPING_CALC_METHOD} Shopping Cart 設定 > 送料設定で設定した送料の計算方法(sum | max)

校正オプション

Shopping Cart 拡張アプリで提供している校正オプションについてのリファレンスです。



convertToIncludingTax 税抜き価格を税込価格にします。適応する変数の価格は税抜きである必要があります。。
例:{price}[convertToIncludingTax('{tax}') | number_format]
priceが1000、taxが0.1のとき、1,100に校正されます。
convertToTotalPrice 単価 × 個数を計算します。第一引数に個数、第二引数に税率(省略可)を指定できます。
例:{price}[convertToTotalPrice('{quantity}', '{tax}') | number_format]
priceが1000、quantityが3、taxが0.1のとき、3,300に校正されます。
convertToTax 単価に対する消費税を計算します。
例:{price}[convertToTax('{tax}') | number_format]
priceが1000、taxが0.1 の場合、消費税区分が外税のとき、100に校正され、内税のとき、91に校正されます。
shippingGroupName 配送グループID から 配送グループ名を表示します。
例: {item_shipping_group_id}[shippingGroupName]