Shoping Cart拡張アプリ アップデートのお知らせ 2023年5月

この記事は公開日より1年以上経過しているため、現在の内容と異なる可能性があります。


この記事では、ShoppingCart 拡張アプリ について、2023年5月9日にリリースした  Ver. 2.1.0、Ver. 2.1.1 の内容及び、5月15日にリリースした Ver. 2.1.2 について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 2.1.0 のリリースノート

Added

  • Order_Summaryモジュールで注文商品・決済方法・追加手数料・配送地域・総注文商品(エントリー)数合計・総注文商品の数量合計のデータを出力できるブロック、変数を追加
  • ShoppingForm モジュールで適用中の決済方法の説明用画像を表示できるように改良
  • 決済方法に利用条件を設定できる機能及び、利用条件を満たした決済方法を表示するモジュール(Payment_Select)を追加
  • フォーマットした送料無料のしきい値(小計)を表示するグローバル変数(%{SHIPPING_FREE_SUBTOTAL_FORMATTED} )を追加
  • ShoppingCart 及び ShoppingCart_Summary モジュールで配送グループ(shippingGroup)ブロックを表示できるように改修
  • 決済方法・配送グループ・追加手数料にステータス設定を追加(公開 or 非公開)& Payment_Selectモジュールでステータスを考慮した決済方法のみを表示するように改修 & ステータスを考慮した配送グループ・追加手数料を表示するモジュール(ShippingGroup_AdminSelect・Addition_Select)を追加
  • Squareで決済をした場合、レシート番号(square-receiptNumber)とレシートURL(square-receiptUrl)をメール用の変数として表示できる機能を追加
  • ShoppingCart_Summary モジュールで税金情報と小計を表示できる変数を追加(taxAmount:loop, subtotal)

Changed

  • ECテーマのカート追加・更新・削除時にJavaScriptを触らずにバリデーションを追加できる用に変更
  • 管理画面のタブの分け方を変更
  • ECテーマでOrder_SummaryモジュールからAPI経由で取得していたカート内商品のデータをShoppingCart_Summary に置き換え
  • ECテーマの決済フォームのカテゴリーを cart → shopping に変更
  • ECテーマ決済フォームにおいて、注文情報を Order_Summaryモジュールで表示するように変更
  • ECテーマの不要なCSS及びJavaScript を削除など整理

Fixed

  • ECテーマのカート追加時に、カラーとサイズの必須チェックをするように修正
  • 送料無料のしきい値に0を設定した場合に、送料無料にならない問題の修正
  • ShippingCart_Summaryモジュールの変数表に(sort, usort, csort, ecd)を追加
  • 設定されている決済方法・配送グループ・追加手数料が0個の場合、エラーが出る問題を修正

Ver. 2.1.1 のリリースノート

Fixed

  • fix: PHP7.4で syntax error, unexpected '|', expecting variable (T_VARIABLE) が発生する問題の修正
  • ECテーマ詳細ページの Entry_Summary で ページネーションが表示されてしまう問題の修正

Ver. 2.1.2 のリリースノート

Fixed

  • ECテーマ: IOSでモーダルの背景がスクロールできてしまう問題の修正
  • ShippingGroup_AdminSelect モジュールの変数表が間違っている問題の修正
  • Firefox でクレジットカード決済が必ずエラーになってしまう問題の修正
  • Ver. 16 未満の Safariで Square の クレジットカード情報取得時にフォームが送信されない問題の修正
  • カート及び決済フォームを表示するページはページキャッシュされないように修正

主なリリースノート内容

今回のリリースではいくつか新しい機能が追加されていますが、新しい機能を利用するためにテンプレートの変更が必要になることがあります。

そのため、この記事では、テンプレートの変更が必要になる部分について詳しく説明いたします。

決済方法に利用条件を設定できる機能及び、利用条件を満たした決済方法を表示するモジュール(Payment_Select)を追加

Ver. 2.1.0 より、決済手数料を利用条件毎に設定できるようになりました。

具体的には、注文の合計金額(決済手数料を含めます)が0円 ~ 9999円の場合の決済手数料は 330 円、10000円 以上の場合の決済手数料は 440 円 のような要件が実現可能になりました。

特に、代引き手数料では、実際に購入者が支払う金額によって決済手数料が変動する場合があるため、決済手数料を利用条件毎に設定することで、販売者側が損をしてしまうといったことをなくすことが可能です。

Ver.2.1.0 より前のバージョンに同梱の EC テーマをご利用の場合、決済手数料を利用条件毎に設定できるようにするためにはテーマのテンプレートを変更する必要があります。

変更点としては、決済フォームで決済方法の選択肢を表示するために利用しているモジュールを ShoppingCart_Settings モジュールから Payment_Select モジュールに置き換える必要があります。

ECテーマで決済方法を表示しているところを、Payment_Select モジュールに置き換えてください。以下はサンプルコードになります。

        <!-- BEGIN_MODULE Payment_Select -->
        <ul class="form-table-list">
          <!-- BEGIN payment:loop -->
          <li class="form-table-list-item">
            <div
              class="acms-form-radio payment-method-select"
            >
              <input
                id="input-radio-payment-method-{block}"
                type="radio"
                name="payment-method"
                value="{block}"
                \{payment-method:checked#{block}\}
                <!-- BEGIN_IF [\{payment-method\}/em/_and_/{payment.i}/eq/1] -->
                checked="checked"
                <!-- END_IF -->
                data-validator="payment-method"
              />
              <label for="input-radio-payment-method-{block}">
                <i class="acms-ico-radio"></i>{name}<!-- BEGIN_IF [{commissionPaid}/gt/0] -->:手数料 ¥{commissionPaid}[number_format]<!-- END_IF -->
              </label>
              <!-- BEGIN description:veil -->
              <div class="form-table-description">
                <!-- BEGIN_IF [{description}[delnl]/nem] -->
                <div class="form-table-message">{description}[nl2br]</div>
                <!-- END_IF -->
                <!-- BEGIN_IF [{image@path}/nem] -->
                <img
                  src="%{MEDIA_ARCHIVES_DIR}{image@path}"
                  class="acms-img-responsive"
                  alt="{image@alt}"
                  width="{image@width}"
                  height="{image@height}"
                >
                <!-- END_IF -->
                <!-- BEGIN_IF [{block}/eq/creditcard] -->
                @include("/include/parts/card-form.html")
                <!-- END_IF -->
              </div>
              <!-- END description:veil -->
            </div>
          </li>
          <!-- END payment:loop -->
        </ul>
        <!-- END_MODULE Payment_Select -->

Payment_Select モジュールに置き換えることで、利用条件に当てはまる決済方法のみを選択肢として表示することができます。また、{commissionPaid} 変数で表示される決済手数料においても利用条件を考慮した金額が表示されます。

また、購入者が決済方法の選択を行うステップより前に配送先や追加手数料を選択するフォームのステップを設置する必要があることに注意してください。

これは決済手数料の利用条件として設定する金額は配送手数料や追加手数料を含んだ購入者が支払う合計金額のことになり、決済手数料を計算するためには配送手数料や追加手数料が決定している必要があるためです。

決済方法の利用条件設定についての詳しい内容はドキュメントに記載しましたので、以下のリンクからご確認ください。


決済方法・配送グループ・追加手数料にステータス設定を追加(公開 or 非公開)& Payment_Selectモジュールでステータスを考慮した決済方法のみを表示するように改修 & ステータスを考慮した配送グループ・追加手数料を表示するモジュール(ShippingGroup_AdminSelect・Addition_Select)を追加

Ver. 2.1.0 より、決済方法・配送グループ・追加手数料にステータス(公開 or 非公開)を設定できるようになりました。

これにより、管理者側としては設定画面に登録しておきたいが、閲覧者には表示させたくないといった仕様を実現できるようになりました。

Ver.2.1.0 より前のバージョンに同梱の EC テーマをご利用の場合、ShoppingCart 設定画面で設定した決済方法・配送グループ・追加手数料のステータスを考慮した選択肢を表示するためには、それぞれ Ver. 2.1.0 で新しく追加されたモジュールに置き換える必要があります。

決済方法の場合

ステータスが「公開」の決済方法のみを購入フォームで表示するためには Payment_Select モジュールを利用する必要があります。こちらの変更方法については、先程、「決済方法に利用条件を設定できる機能及び、利用条件を満たした決済方法を表示するモジュール(Payment_Select)を追加」で説明いたしましたので割愛させていただきます。

配送グループの場合

ステータスが「公開」の配送グループのみをエントリー編集画面で表示するためには ShippingGroup_AdminSelect モジュールを利用する必要があります。

Ver. 2.0.0 に同梱の EC テーマのエントリー編集画面で配送グループの選択肢を ShoppingCart_Settings モジュールで表示しているテンプレートを、 ShippingGroup_AdminSelect モジュールに置き換えてください。以下はサンプルコードになります。

<select name="item_shipping_group_id">
  <!-- BEGIN_MODULE ShippingGroup_AdminSelect -->
    <!-- BEGIN shippingGroup:loop -->
    <option value="{id}" \{item_shipping_group_id:selected#{id}\}>{name}</option>
    <!-- END shippingGroup:loop -->
    <!-- END_MODULE ShippingGroup_AdminSelect -->
  </select>
<input type="hidden" name="field[]" value="item_shipping_group_id" />

ShippingGroup_AdminSelect モジュールに置き換えることで、ステータスが「公開」の配送グループのみをエントリー編集画面で表示することができるようになります。

追加手数料の場合

ステータスが「公開」の追加手数料のみを購入フォームで表示するためには Addition_Select モジュールを利用する必要があります。

Ver. 2.0.0 に同梱の EC テーマの購入フォームで追加手数料の選択肢を ShoppingCart_Settings モジュールで表示しているテンプレートを、 Addition_Select モジュールに置き換えてください。以下はサンプルコードになります。

<!-- BEGIN_MODULE Addition_Select -->
<!-- BEGIN addition:veil -->
<h3>追加手数料</h3>
<table>
  <tbody>
    <tr>
      <th></th>
      <td>
        <ul>
          <!-- BEGIN addition:loop -->
          <li class="form-table-list-item">
            <div class="acms-form-checkbox">
              <input type="checkbox" name="addition[]" value="{id}" \{addition:checked#{id}\} id="input-checkbox-addition-{id}" />
              <label for="input-checkbox-addition-{id}">
                <i class="acms-ico-checkbox"></i>{name}(¥{fee}[number_format])</label>
            </div>
          </li>
          <!-- END addition:loop -->
        </ul>
        <input type="hidden" name="field[]" value="addition" />
      </td>
    </tr>
  </tbody>
</table>
<!-- END addition:veil -->
<!-- END_MODULE Addition_Select -->

Addition_Select モジュールに置き換えることで、ステータスが「公開」の追加手数料のみをエントリー編集画面で表示することができるようになります。

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。 今後ともどうぞよろしくお願いいたします。

同じタグ付けがされている記事