テーマ仕様書 更新履歴
2023年
2023/07/19更新

2023/07/19更新

+ 更新した行
- 削除した行

商品の予約販売機能

予約販売機能の詳細はFAQ (opens in a new tab)をご確認ください。

page > トップ画面

ec_force/shop/base/index.html.liquid
ec_force/shop/base/index.html+smartphone.liquid

     <!-- イチオシ商品タイトル(任意) -->
-    <a href="/shop/products/{{ base_info.hot_product.master.sku }}">{{ base_info.hot_product.name }}</a>
+    <a href="/shop/products/{{ hot_product.master.sku }}">{{ hot_product.name }}</a>
+
+    <!-- イチオシ商品予約マーク(任意) -->
+    {% if base_info.use_pre_order? and hot_product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+      予約商品
+    {% endif %}
       <!-- 新着商品タイトル(任意) -->
       <a href="/shop/products/{{ product.master.sku }}">{{ product.name }}</a>
 
+      <!-- 新着商品予約マーク(任意) -->
+      {% if base_info.use_pre_order? and product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+        予約商品
+      {% endif %}
       <!-- セール商品タイトル(任意) -->
       <a href="/shop/products/{{ product.master.sku }}">{{ product.name }}</a>
 
+      <!-- セール商品予約マーク(任意) -->
+      {% if base_info.use_pre_order? and product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+        予約商品
+      {% endif %}

cart > カート画面

ec_force/shop/carts/show.html.liquid
ec_force/shop/carts/show.html+smartphone.liquid

   <!-- カート内に商品がある場合 -->
   {% else %}
 
+    <!-- カート内に予約商品が含まれる場合の注意文 -->
+    {% if base_info.use_pre_order? and order.pre_order_variants? and pre_order_settings.message_when_pre_order_product_in_cart != '' %}
+      {{ pre_order_settings.message_when_pre_order_product_in_cart }}
+    {% endif %}
+
     <!-- カート内商品一覧 -->
     {% for order_item in order.order_items %}
 
     <!-- 商品名 -->
       <a href="/shop/products/{{ order_item.product.master.sku }}">{{ order_item.product.name }}</a>
 
+      <!-- 予約マーク(任意) -->
+      {% if base_info.use_pre_order? and order_item.variant.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+        予約商品
+      {% endif %}
         <!-- 関連商品名 -->
         <a href="/shop/products/{{ related_product.master.sku }}">{{ related_product.name | truncate: 35 }}</a>
 
+        <!-- 予約マーク(任意) -->
+        {% if base_info.use_pre_order? and related_product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+          予約商品
+        {% endif %}
+
         <!-- 販売価格 -->
         {{ related_product.first_price | number_to_currency: format: '%n %u' }}
  <!-- 閲覧履歴(任意) -->
  {% if current_customer != null %}
    {% for browsing_history in browsing_histories %}
      <!-- 商品画像(任意) -->
      <a href="/shop/products/{{ browsing_history.master.sku }}">
        {% if browsing_history.thumbnail.url %}
          {% assign src = browsing_history.thumbnail.url %}
        {% else %}
          {% assign src = 'missing' | image_url %}
        {% endif %}
        <img src="{{ src }}">
      </a>
 
       <!-- 商品名 -->
       <a href="/shop/products/{{ browsing_history.master.sku }}">{{ browsing_history.name }}</a>
 
+      <!-- 予約マーク(任意) -->
+      {% if base_info.use_pre_order? and browsing_history.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+        予約商品
+      {% endif %}
+
       <!-- 販売価格(任意) -->

cart > 注文情報確認画面

ec_force/shop/orders/confirm.html.liquid
ec_force/shop/orders/confirm.html+smartphone.liquid

   <!-- お届けサイクル -->
   {% if scheduled_delivery_dates_visibility %}
 
+    {% if base_info.use_pre_order? and order.pre_order_variants? %}
+      <!-- お届け予定時期 -->
+      {{ order.find_last_scheduled_pre_order.pre_ordered_delivery_description }}
+      {% if order.scheduled_delivery_time != empty %}
+        ({{ order.scheduled_delivery_time }})
+      {% endif %}
+    {% else %}
 
       <!-- 1回目お届け日 -->
       {% if order.scheduled_to_be_delivered_at %}
         {{ order.scheduled_to_be_delivered_at | date: '%Y-%m-%d' }}
       {% else %}
          指定なし
       {% endif %}
       <!-- 1回目お届け時間 -->
       {% if order.scheduled_delivery_time != empty %}
         {{ order.scheduled_delivery_time }}
       {% endif %}
 
       <!-- 2回目お届け日 -->
       {% if order.subs_order.scheduled_to_be_delivered_at %}
         {{ order.subs_order.scheduled_to_be_delivered_at | date: '%Y-%m-%d' }}
       {% else %}
         --
       {% endif %}
+    {% endif %}
  {% endif %}

cart > サンクスオファー確認画面

ec_force/shop/orders/cv_confirm.html.liquid
ec_force/shop/orders/cv_confirm.html+smartphone.liquid

   {% if show_scheduled_delivery_dates %}
 
+    {% if base_info.use_pre_order? and order.pre_order_variants? %}
+      <!-- お届け予定時期 -->
+      {{ order.find_last_scheduled_pre_order.pre_ordered_delivery_description }}
+      {% if order.scheduled_delivery_time != empty %}
+        ({{ order.scheduled_delivery_time }})
+      {% endif %}
     {% else %}
       <!-- 1回目お届け日 -->
       {% if order.scheduled_to_be_delivered_at %}
         {{ order.scheduled_to_be_delivered_at | date: '%Y-%m-%d' }}
       {% else %}
         指定なし
       {% endif %}
 
       <!-- 1回目お届け時間 -->
       {% if order.scheduled_delivery_time != empty %}
         {{ order.scheduled_delivery_time }}
       {% endif %}
 
       <!-- 2回目お届け日 -->
       {% if order.subs_order.scheduled_to_be_delivered_at %}
         {{ order.subs_order.scheduled_to_be_delivered_at | date: '%Y-%m-%d' }}
       {% else %}
         --
       {% endif %}
+     {% endif %}
   {% endif %}

cart > お届けサイクル(部分テンプレート)

ec_force/shop/orders/_view_payment_schedule.html.liquid
ec_force/shop/orders/_view_payment_schedule.html+smartphone.liquid

   <!-- お届けサイクル -->
   <div id='container_payment_schedule'>
+    <!-- お届けサイクル タイトル はカート内に予約商品が存在するかどうかで、form_label_caption_delivery とform_label_caption_delivery_pre_order を JS で切り替えます -->
+    <!-- お届けサイクル タイトル(任意) -->
+    <div id='form_label_caption_delivery'>お届け日の指定</div>
+    <!-- お届けサイクル タイトル(任意)※予約商品が入っている場合は下記を表示します -->
+    <div id='form_label_caption_delivery_pre_order' style='display:none;'>お届け日時</div>
 
     <!-- お届けサイクルの指定 -->
     <div id='container_delivery_cycle' style='display:none;'>
      <label>お届けサイクルの指定</label>
      <select class='validate[required]' id='select_payment_schedule'>
        <option value="date">日付で指定</option>
        <option value="term">間隔で指定</option>
        <option value="day_of_week">曜日で指定</option>
      </select>
    </div>
   <!-- お届け予定日 -->
   <div id='container_scheduled_delivery_dates' style='display:none;'>
     <div id='scheduled_1st_delivery_date_text' style='display:none;'></div>
     <div id='scheduled_2nd_delivery_date_text' style='display:none;'></div>
   </div>
 
+  <!-- お届け予定時期 -->
+  <div id='container_pre_ordered_delivery_description' style='display:none;'>
+    <!-- お届け予定時期 タイトル はカート内に定期商品が存在するかどうかで、pre_ordered_delivery_description_label_single と pre_ordered_delivery_description_label_recurring を JS で切り替えます -->
+    <!-- お届け予定時期 タイトル(任意) -->
+    <div id='pre_ordered_delivery_description_label_single' style='display:none;'>お届け予定時期</div>
+    <!-- お届け予定時期 タイトル(任意)※定期商品が入っている場合は下記を表示します -->
+    <div id='pre_ordered_delivery_description_label_recurring' style='display:none;'>初回お届け予定時期</div>
+    <!-- お届け予定時期 -->
+    <div id='pre_ordered_delivery_description' style='display:none;'></div>
+  </div>
+
 </div>

cart > サンクスクロスセル(部分テンプレート)

ec_force/shop/orders/_form_cv_xsell.html.liquid
ec_force/shop/orders/_form_cv_xsell.html+smartphone.liquid

               <div>
                 <input type="hidden" name="product-name" value="{{ cv_xsell_product.name }}">
                 <input type="hidden" name="product_description" value="{{ cv_xsell_product.parsed_description | simple_format }}">
+                <input type="hidden" name="is_pre_order" value="{% if base_info.use_pre_order? and cv_xsell_product.master.pre_order.is_pre_order? %}1{% else %}0{% endif %}">
+                <input type="hidden" name="pre_ordered_display_mark" value="{% if pre_order_settings.display_mark %}1{% else %}0{% endif %}">
+                <input type="hidden" name="pre_ordered_delivery_description_modal" value="{{ cv_xsell_product.master.pre_order.pre_ordered_delivery_description }}">
+                <input type="hidden" name="pre_ordered_notes" value="{{ pre_order_settings.notes }}">
+                <input type="hidden" name="valid_pre_order" value="{% if cv_xsell_product.master.pre_order.within_pre_order_period? == false %}0{% endif %}1">
                 <input type="hidden" name="list-price" value="{{ cv_xsell_product.master.list_price | number_to_currency }}">
                 <input type="hidden" name="list-price-include-tax" value="(税込価格 {{ cv_xsell_product.master.list_price_include_tax | number_to_currency }})">
                 <input type="hidden" name="sales-price" value="{{ cv_xsell_product.initial_price | number_to_currency }}">
                 <input type="hidden" name="sales-price-include-tax" value="(税込価格 {{ cv_xsell_product.initial_price_include_tax | number_to_currency }})">
                 {% assign maker_name = '-' %}
                 {% assign maker_url = '-' %}
         <span id="product_description"></span>
         商品詳細
 
+        <!-- 予約関連情報(任意) -->
+        {% if base_info.use_pre_order? %}
+          <div id="pre_order">
+            <span id="pre_ordered_display_mark">予約商品</span>
+            お届け予定時期:
+            <span id="pre_ordered_delivery_description_modal"></span>
+            <span id="pre_ordered_notes"></span>
+          </div>
+        {% endif %}
+
         <!-- 通常価格(税抜)-->
         通常価格(税抜):<span id="list-price"></span>
         <!-- 説明 -->
         説明:<span id="variant_description"></span>
         <!-- 商品詳細情報(任意)ここまで -->
+        <!-- 予約受付期間外時のメッセージ(任意) -->
+        {% if base_info.use_pre_order? %}
+          <span id="invalid_pre_order_description" class="default-hide">予約受付期間外のためカートに商品を追加できません。</span>
+        {% endif %}
         <!-- SKUの絞り込み -->

product > 商品一覧画面

ec_force/shop/products/index.html.liquid
ec_force/shop/products/index.html+smartphone.liquid

     <!-- 商品名 -->
     <a href="/shop/products/{{ product.master.sku }}">{{ product.name }}</a>
 
+    <!-- 予約マーク(任意) -->
+    {% if base_info.use_pre_order? and product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+      予約商品
+    {% endif %}
+
     <!-- 販売価格(任意) -->
     {{ product.first_price | number_to_currency: format: '%n %u' }}

product > 商品詳細画面

ec_force/shop/products/show.html.liquid
ec_force/shop/products/show.html+smartphone.liquid

   <!-- 商品詳細(任意) -->
   {{ product.parsed_description }}
 
+  <!-- 予約マーク(任意) -->
+  {% if base_info.use_pre_order? and product.master.pre_order.is_pre_order? %}
+    {% if pre_order_settings.display_mark %}
+      予約商品
+    {% endif %}
+    お届け予定時期:{{ product.master.pre_order.pre_ordered_delivery_description }}
+    {{ pre_order_settings.notes }}
+  {% endif %}
+
   <!-- 注意喚起文(任意) -->
   {{ product.caution }}
   <!-- 説明(任意) -->
   <div id="description">{{ product.master.parsed_description | simple_format }}</div>
 
+  <!-- 予約受付期間外時のメッセージ(任意) -->
+  {% if base_info.use_pre_order? and valid_pre_order_variant == false %}
+    予約受付期間外のためカートに商品を追加できません。
+  {% endif %}
 
   <!-- 商品選択フォーム -->
   <form id="add-shop-cart-form" action="/shop/cart/add" method="post">
 
     <!-- オプション選択 -->
     <input id="variant-id" type="hidden" name="variant_id" value="{{ product.master.id }}">
     <div id="option_types"></div>
 
     <!-- 数量選択 -->
     <label>数量</label>
     <input id="text-out-of-stock" value="在庫切れ" disabled style="display:none;">
     <select id="quantity" name="quantity" style="display:none;"></select>
 
     <!-- 再入荷お知らせ -->
     <a id="btn-stock-waiting-list" href="javascript:void(0);" style='display:none;'>再入荷お知らせ</a>
 
     <!-- カート追加 -->
+    {% if valid_pre_order_variant %}
       <button id="btn-add-async" type="button" style="display:none;">カートに商品を追加</button>
       <button id="btn-add" style="display:none;">購入手続きへ</button>
+    {% endif %}
   </form>
       <!-- 関連商品名 -->
       <a href="/shop/products/{{ related_product.master.sku }}">{{ related_product.name | truncate: 35 }}</a>
 
+      <!-- 予約マーク(任意) -->
+      {% if base_info.use_pre_order? and related_product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+        予約商品
+      {% endif %}
+
       <!-- 販売価格 -->
       {{ related_product.master.list_price | number_to_currency: format: '%n %u' }}

product > キーワード検索結果商品一覧画面

ec_force/shop/searches/show.html.liquid
ec_force/shop/searches/show.html+smartphone.liquid

     <!-- 商品名 -->
     <a href="/shop/products/{{ product.master.sku }}">{{ product.name }}</a>
 
+    <!-- 予約マーク(任意) -->
+    {% if base_info.use_pre_order? and product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+      予約商品
+    {% endif %}
+
     <!-- 販売価格(任意) -->
     {{ product.first_price | number_to_currency: format: '%n %u' }}

mypage > お届け先情報フォーム(部分テンプレート)

ec_force/shop/customer/shipping_addresses/_form.html.liquid
ec_force/shop/customer/shipping_addresses/_form.html+smartphone.liquid

     <!-- 定期番号 -->
-    <a href="/shop/customer/subs_orders/{{ subs_order.number }}">{{ subs_order.number }}</a>
+    {% if base_info.use_pre_order? and subs_order.orders.first.unshipped_pre_order? %}
+      {{ subs_order.number }}
+    {% else %}
+      <a href="/shop/customer/subs_orders/{{ subs_order.number }}">{{ subs_order.number }}</a>
+    {% endif %}
     <!-- 次回配送予定日(任意) -->
-    {{ subs_order.scheduled_to_be_delivered_at | date: "%Y/%m/%d" }}
-
+    {% if base_info.use_pre_order? and subs_order.orders.first.unshipped_pre_order? %}
+      *予約中
+    {% else %}
+      {{ subs_order.scheduled_to_be_delivered_at | date: "%Y/%m/%d" }}
+    {% endif %}

mypage > 購入履歴詳細画面 基本情報

ec_force/shop/customer/orders/show.html.liquid
ec_force/shop/customer/orders/show.html+smartphone.liquid

-    <!-- 発送予定日(任意) -->
-    {{ order.scheduled_to_be_shipped_at | date: "%Y/%m/%d %H:%M:%S" }}
-
-    <!-- 発送完了日(任意) -->
-    {{ order.shipped_at | date: "%Y/%m/%d %H:%M:%S" }}
+    <!-- 予約販売(任意) -->
+    {% if base_info.use_pre_order? and order.unshipped_pre_order? %}
+      <!-- お届け予定時期(任意) -->
+      {{ order.pre_ordered_delivery_description_snapshot }}
+    {% else %}
+      <!-- 発送予定日(任意) -->
+      {{ order.scheduled_to_be_shipped_at | date: "%Y/%m/%d %H:%M:%S" }}
 
-    <!-- 配送予定日(任意) -->
-    {{ order.scheduled_to_be_delivered_at | date: "%Y/%m/%d %H:%M:%S" }}
+      <!-- 発送完了日(任意) -->
+      {{ order.shipped_at | date: "%Y/%m/%d %H:%M:%S" }}
 
+      <!-- 配送予定日(任意) -->
+      {{ order.scheduled_to_be_delivered_at | date: "%Y/%m/%d %H:%M:%S" }}
+    {% endif %}
     <!-- お届け時間(任意) -->
-  <!-- 注文日時 -->
-  {{ order.completed_at | date: "%Y/%m/%d %H:%M:%S" }}
+  <!-- 予約販売(任意) -->
+  {% if base_info.use_pre_order? and order.unshipped_pre_order? %}
+    <!-- 予約日時 -->
+    {{ order.pre_ordered_at | date: "%Y/%m/%d %H:%M:%S" }}
+  {% else %}
+    <!-- 注文日時 -->
+    {{ order.completed_at | date: "%Y/%m/%d %H:%M:%S" }}
+  {% endif %}

mypage > 定期注文一覧画面

ec_force/shop/customer/subs_orders/index.html.liquid
ec_force/shop/customer/subs_orders/index.html+smartphone.liquid

-    <!-- 定期番号 -->
-    <a href="/shop/customer/subs_orders/{{ subs_order.number }}">{{ subs_order.number }}</a>
+    {% if base_info.use_pre_order? and subs_order.orders.first.unshipped_pre_order? %}
+      <!-- 予約販売(任意) -->
+      <!-- 定期番号 -->
+      {{ subs_order.number }}
+    {% else %}
+      <!-- 定期番号 -->
+      <a href="/shop/customer/subs_orders/{{ subs_order.number }}">{{ subs_order.number }}</a>
+    {% endif %}
-    <!-- 次回配送予定日(任意) -->
-    {{ subs_order.scheduled_to_be_delivered_at | date: "%Y/%m/%d" }}
 
-    <!-- 詳細リンク -->
-    <a href="/shop/customer/subs_orders/{{ subs_order.number }}">詳細</a>
+    {% if base_info.use_pre_order? and subs_order.orders.first.unshipped_pre_order? %}
+      <!-- 予約販売(任意) -->
+      <!-- 次回配送予定日(任意) -->
+      *予約中
+
+      <!-- 詳細リンク -->
+      *予約中
+    {% else %}
+      <!-- 次回配送予定日(任意) -->
+      {{ subs_order.scheduled_to_be_delivered_at | date: "%Y/%m/%d" }}
+
+      <!-- 詳細リンク -->
+      <a href="/shop/customer/subs_orders/{{ subs_order.number }}">詳細</a>
+
+    {% endif %}

mypage > お気に入り一覧

ec_force/shop/customer/favorites/index.html.liquid
ec_force/shop/customer/favorites/index.html+smartphone.liquid

     <!-- 販売価格(任意) -->
     {{ favorite.product.first_price | number_to_currency: format: '%n %u' }}
 
+    <!-- 予約マーク(任意) -->
+    {% if base_info.use_pre_order? and favorite.product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
+      予約商品
+    {% endif %}
+
     <!-- 操作 -->
     <a data-confirm="商品名:{{ favorite.product.name }} をお気に入りから削除しますか?" rel="nofollow" data-method="delete" href="/shop/customer/favorites/{{ favorite.id }}">削除</a>

定期受注再開時にクレジットカード情報が削除されている場合、支払い方法を選択させるようにする

ec_force/shop/customer/subs_orders/show.html.liquid
ec_force/shop/customer/subs_orders/show.html+smartphone.liquid

   <a href="/shop/customer/subs_orders/{{ subs_order.number }}/edit">編集</a>
  {% elsif subs_order.reorderable_display_setting? %}
   <!-- 再開リンク -->
+  <div id='subs-order-show-view'>
   <form action='/shop/customer/subs_orders/{{ subs_order.number }}' accept-charset='UTF-8' method='post'>
     <input type='hidden' name='_method' value='put'>
     <label for="subs_order_scheduled_to_be_delivered_at">
       次回配送予定日
     </label>
     <select class='validate[required]' id='subs_order_scheduled_to_be_delivered_at' name="subs_order[scheduled_to_be_delivered_at]">
       {% assign a = subs_order.scheduled_to_be_delivered_at | date: "%Y-%m-%d" %}
       {% for d in option_scheduled_to_be_delivered_at %}
         {% assign b = d | date: "%Y-%m-%d" %}
         <option value={{ d }} {% if a == b %}selected{% endif %}>{{ d }}</option>
       {% endfor %}
     </select>
+      <!-- 支払い方法変更 -->
+      {% if payment_methods_changable_flg %}
+        <div id="payment-method-edit-view">
+          <!-- 支払い方法変更 -->
+          <label for="subs_order_payment_attributes_payment_method_id">支払方法</label>
+          <select name="subs_order[payment_attributes][payment_method_id]" id="subs_order_payment_attributes_payment_method_id">
+            {% for payment_method in payment_methods %}
+              <option value="{{ payment_method.id }}" {% if subs_order.payment_method.id == payment_method.id %}selected{% endif %}>{{ payment_method.name }}</option>
+            {% endfor %}
+          </select>
+          <!-- クレジットカード選択 -->
+          <div id="credit-card">
+            <label for="subs_order_payment_attributes_source_id">
+              クレジットカード
+            </label>
+            <select class="validate[required]" name="subs_order[payment_attributes][source_id]" id="subs_order_payment_attributes_source_id">
+              <option value="">--</option>
+              {% for card in credit_cards %}
+                <option value="{{ card.id }}" {% if selected_credit_card.id == card.id %}selected{% endif %}>{{ card.display_number_with_default }}</option>
+              {% endfor %}
+            </select>
+            <input value="EcForce::CreditCard" type="hidden" name="subs_order[payment_attributes][source_type]" id="subs_order_payment_attributes_source_type">
+            {% if base_info.credit_card_editable? %}
+              <a href="/shop/customer/cards">クレジット新規登録はこちら</a>
+            {% endif %}
+          </div>
+          <!-- 分割回数 -->
+          <div class="form-group" style="display: none;">
+            <label for="subs_order_payment_attributes_payment_times">
+              分割回数
+            </label>
+            <select name="subs_order[payment_attributes][payment_times]" id="subs_order_payment_attributes_payment_times">
+              {% for i in (2..24) %}
+                <option value="{{ i }}" {% if subs_order.payment.payment_times == i %}selected{% endif %}>{{ i }}</option>
+              {% endfor %}
+            </select>
+          </div>
+        </div>
+      {% endif %}
     <input type='hidden' name='subs_order[state]' value='active'>
     <input type='hidden' name='subs_order[reorderable]' value='true'>
     <input type='submit' name='commit' value="再開" data-disable_with='保存中...'>
   </form>
+  </div>
  {% endif %}
 
  <!-- 定期購入停止リンク -->

お届け先住所変更画面の「購入済みの定期便に反映させる」のデフォルトチェック設定対応

設定はショップ管理 > 各種設定 > マイページ設定 (opens in a new tab) の「お届け先変更内容を定期便へ反映」でおこないます。
※上記設定値を反映させるための更新です。

mypage > お届け先情報フォーム(部分テンプレート)

ec_force/shop/customer/shipping_addresses/_form.html.liquid
ec_force/shop/customer/shipping_addresses/_form.html+smartphone.liquid

 <!-- 上記のお届先情報の変更を反映させる購入済定期便一覧 -->
 <label for="address_customer_shipping_subs_orders">購入済の定期便に反映させる</label>
 
+{% if base_info.force_reflect_shipping_address_to_subs_orders %}{% assign checked = 'checked="checked"' %}{% endif %}
+
   <!-- 全てに変更を反映させるチェックボックス -->
-  <input id="toggle_all" type="checkbox">
+  <input id="toggle_all" type="checkbox" {{ checked }}>
 
   {% for subs_order in subs_orders %}
 
     <!-- 変更を反映させるチェックボックス -->
-    <input name="subs_order_numbers[]" type="checkbox" value="{{ subs_order.number }}">
+    <input name="subs_order_numbers[]" type="checkbox" value="{{ subs_order.number }}" {{ checked }}>
 
     <!-- 定期番号 -->

キャンペーン機能(オプション)のアップデート

キャンペーン適用表示切り替えの対応

cart > カート画面

ec_force/shop/carts/show.html.liquid
ec_force/shop/carts/show.html+smartphone.liquid

       <!-- 単価 -->
-      {{ order_item.price | number_to_currency: format: '%n %u' }}
+      {{ order_item.price_with_campaign_discount | number_to_currency: format: '%n %u' }}
 
       <!-- 小計 -->
-      {{ order_item.subtotal_price | number_to_currency: format: '%n %u' }}
+      {{ order_item.subtotal_with_campaign_discount | number_to_currency: format: '%n %u' }}
     <!-- カート内の小計 -->
-    {{ order.subtotal | number_to_currency: format: '%n %u' }}
+    {{ order.subtotal_with_campaign_discount | number_to_currency: format: '%n %u' }}
 
     <!-- カート時点の消費税(任意) ※カート内商品に対する消費税額 -->
-    {{ order.subtotal_tax | number_to_currency: format: '%n %u' }}
+    {{ order.subtotal_tax_with_campaign_discount | number_to_currency: format: '%n %u' }}
 
     <!-- カート時点の8%消費税(任意) ※カート内商品(税率8%)に対する消費税額 -->
-    {{ order.subtotal8_tax | number_to_currency: format: '%n %u' }}
+    {{ order.subtotal8_tax_with_campaign_discount | number_to_currency: format: '%n %u' }}
 
     <!-- カート時点の10%消費税(任意) ※カート内商品(税率10%)に対する消費税額 -->
-    {{ order.subtotal10_tax | number_to_currency: format: '%n %u' }}
+    {{ order.subtotal10_tax_with_campaign_discount | number_to_currency: format: '%n %u' }}
 
-    <!-- カート時点の合計(任意) ※ order.subtotal + order.subtotal_tax -->
-    {{ order.subtotal_include_subtotal_tax | number_to_currency: format: '%n %u' }}
+    <!-- カート時点の合計(任意) ※ order.subtotal_with_campaign_discount + order.subtotal_tax_with_campaign_discount -->
+    {{ order.subtotal_include_tax_with_campaign_discount | number_to_currency: format: '%n %u' }}

shared_partial > sidebar

ec_force/shop/shared/_sidebar.html.liquid
ec_force/shop/shared/_sidebar.html+smartphone.liquid

     <!-- 商品小計 -->
-    <span id="sidebar-order-subtotal">{% if current_order %}{{ current_order.subtotal | number_to_currency: format: '%n %u' }}{% else %}{{ order.subtotal | number_to_currency: format: '%n %u' }}{% endif %}</span>
+    <span id="sidebar-order-subtotal">{% if current_order %}{{ current_order.subtotal_with_campaign_discount | number_to_currency: format: '%n %u' }}{% else %}{{ order.subtotal_with_campaign_discount | number_to_currency: format: '%n %u' }}{% endif %}</span>

キャンペーンカウントダウン機能対応

product > 商品詳細画面

ec_force/shop/products/show.html.liquid
ec_force/shop/products/show.html+smartphone.liquid

   <!-- 注意喚起文(任意) -->
   {{ product.caution }}
 
+  <!-- キャンペーン機能カウントダウン表示(任意) -->
+  {% if display_countdown_flg %}
+    <span>{{ campaign_end_date_left }}</span>
+  {% endif %}

軽微な修正

page > トップ画面

ec_force/shop/base/index.html.liquid
ec_force/shop/base/index.html+smartphone.liquid

     <!-- イチオシ商品タイトル(任意) -->
-    <a href="/shop/products/{{ base_info.hot_product.master.sku }}">{{ base_info.hot_product.name }}</a>
+    <a href="/shop/products/{{ hot_product.master.sku }}">{{ hot_product.name }}</a>
 
     <!-- イチオシ商品説明(任意) -->
-    {{ base_info.hot_product.description | simple_format }}
+    {{ hot_product.description | simple_format }}
 
     <!-- イチオシ商品販売価格(任意) -->
-    {{ base_info.hot_product.first_price | number_to_currency: format: '%n %u' }}
+    {{ hot_product.first_price | number_to_currency: format: '%n %u' }}

※変更前の変数でも問題なく利用継続可能です。