テーマ仕様書 更新履歴
2023年
2023/10/17更新

2023/10/17更新

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

配送温度帯管理機能

配送温度帯管理機能の詳細・設定方法などは ecforce FAQ 配送温度帯管理機能 (opens in a new tab) をご確認ください。

pages > トップページ

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

     <!-- イチオシ商品タイトル(任意) -->
     <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 %}
-      予約商品
+    <!-- イチオシ商品バッジ(任意) -->
+    {% if pre_order_badge_flg_hash[hot_product.master.id] or delivery_group_badge_flg_hash[hot_product.id] %}
+      <!-- イチオシ商品予約マーク(任意) -->
+      {% if pre_order_badge_flg_hash[hot_product.master.id] %}
+        予約商品
+      {% endif %}
+      <!-- イチオシ商品配送温度帯ラベル(任意) -->
+      {% for delivery_group_name in hot_product.delivery_group_names %}
+        {{ delivery_group_name }}
+      {% endfor %}
     {% 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 %}
-        予約商品
+      <!-- 新着商品バッジ(任意) -->
+      {% if pre_order_badge_flg_hash[product.master.id] or delivery_group_badge_flg_hash[product.id] %}
+        <!-- 新着商品予約マーク(任意) -->
+        {% if pre_order_badge_flg_hash[product.master.id] %}
+          予約商品
+        {% endif %}
+        <!-- 新着商品配送温度帯ラベル(任意) -->
+        {% for delivery_group_name in product.delivery_group_names %}
+          {{ delivery_group_name }}
+        {% endfor %}
       {% 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 %}
-        予約商品
+      <!-- セール商品バッジ(任意) -->
+      {% if pre_order_badge_flg_hash[product.master.id] or delivery_group_badge_flg_hash[product.id] %}
+        <!-- セール商品予約マーク(任意) -->
+        {% if pre_order_badge_flg_hash[product.master.id] %}
+          予約商品
+        {% endif %}
+        <!-- セール商品配送温度帯ラベル(任意) -->
+        {% for delivery_group_name in product.delivery_group_names %}
+          {{ delivery_group_name }}
+        {% endfor %}
       {% endif %}
       <!-- ランキング商品名(任意) -->
       <a href="/shop/products/{{ sale_ranking.product.master.sku }}">{{ sale_ranking.product.name }}</a>
 
-      <!-- ランキング商品予約マーク(任意) -->
-      {% if enabled_pre_order and sale_ranking.product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
-        予約商品
+      <!-- ランキング商品バッジ(任意) -->
+      {% if pre_order_badge_flg_hash[sale_ranking.product.master.id] or delivery_group_badge_flg_hash[sale_ranking.product.id] %}
+        <!-- ランキング商品予約マーク(任意) -->
+        {% if pre_order_badge_flg_hash[sale_ranking.product.master.id] %}
+          予約商品
+        {% endif %}
+        <!-- ランキング商品配送温度帯ラベル(任意) -->
+        {% for delivery_group_name in sale_ranking.product.delivery_group_names %}
+          {{ delivery_group_name }}
+        {% endfor %}
       {% endif %}

cart > カート画面

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

       <!-- 商品名 -->
       <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 %}
-        予約商品
+      <!-- カート内商品バッジ(任意) -->
+      {% if pre_order_badge_flg_hash[order_item.variant.id] or delivery_group_badge_flg_hash[order_item.product.id] %}
+        <!-- 商品予約マーク(任意) -->
+        {% if pre_order_badge_flg_hash[order_item.variant.id] %}
+          予約商品
+        {% endif %}
+        <!-- 配送温度帯ラベル(任意) -->
+        {% for delivery_group_name in order_item.product.delivery_group_names %}
+          {{ delivery_group_name }}
+        {% endfor %}
       {% 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 %}
-          予約商品
+        <!-- 関連商品バッジ(任意) -->
+        {% if pre_order_badge_flg_hash[related_product.master.id] or delivery_group_badge_flg_hash[related_product.id] %}
+          <!-- 商品予約マーク(任意) -->
+          {% if pre_order_badge_flg_hash[related_product.master.id] %}
+            予約商品
+          {% endif %}
+          <!-- 配送温度帯ラベル(任意) -->
+          {% for delivery_group_name in related_product.delivery_group_names %}
+            {{ delivery_group_name }}
+          {% endfor %}
         {% endif %}
       <!-- 商品名 -->
       <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 %}
-        予約商品
+      <!-- 閲覧履歴商品バッジ(任意) -->
+      {% if pre_order_badge_flg_hash[browsing_history.master.id] or delivery_group_badge_flg_hash[browsing_history.id] %}
+        <!-- 商品予約マーク(任意) -->
+        {% if pre_order_badge_flg_hash[browsing_history.master.id] %}
+          予約商品
+        {% endif %}
+        <!-- 配送温度帯ラベル(任意) -->
+        {% for delivery_group_name in browsing_history.delivery_group_names %}
+          {{ delivery_group_name }}
+        {% endfor %}
       {% endif %}

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

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

               <a class="cv_xsell_variant_detail" data-product-id="{{ cv_xsell_product.id }}">
                 詳細を見る
               </a>
+              {% assign delivery_group_names = '' %}
+              {% for delivery_group_name in cv_xsell_product.delivery_group_names %}
+                {% assign delivery_group_names = delivery_group_names | append: delivery_group_name | append: "," %}
+              {% endfor %}
               <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="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="delivery_group_names" value="{{ delivery_group_names }} ">
                 <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 }}">
         <span id="product_description"></span>
         商品詳細
         
-        <!-- 予約関連情報(任意) -->
+        <!-- 商品バッジ(任意) -->
+        <div class="display-badge-zone">
         {% if base_info.use_pre_order? %}
-          <div id="pre_order">
+          <!-- 予約商品マーク(任意) -->
+          <span class="pre-order">
             <span id="pre_ordered_display_mark">予約商品</span>
-            お届け予定時期:
+          </span>
+        {% endif %}
+          <!-- 配送温度帯マーク(任意) -->
+          <span class="delivery-group-badge-zone"></span>
+        </div>
+
+        <!-- 予約関連情報(任意) -->
+        {% if base_info.use_pre_order? %}
+          <div class="pre-order">
+            <span>お届け予定時期:</span>
             <span id="pre_ordered_delivery_description_modal"></span>
             <span id="pre_ordered_notes"></span>
           </div>

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 %}
-      予約商品
+    <!-- 商品バッジ(任意) -->
+    {% if pre_order_badge_flg_hash[product.master.id] or delivery_group_badge_flg_hash[product.id] %}
+      <!-- 商品予約マーク(任意) -->
+      {% if pre_order_badge_flg_hash[product.master.id] %}
+        予約商品
+      {% endif %}
+      <!-- 配送温度帯ラベル(任意) -->
+      {% for delivery_group_name in product.delivery_group_names %}
+        {{ delivery_group_name }}
+      {% endfor %}
     {% endif %}
 
     <!-- 販売価格(任意) -->

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 %}
+  <!-- 商品バッジ(任意) -->
+  {% if pre_order_badge_flg_hash[product.master.id] or delivery_group_badge_flg_hash[product.id] %}
+    <!-- 商品予約マーク(任意) -->
+    {% if pre_order_badge_flg_hash[product.master.id] %}
       予約商品
     {% endif %}
+    <!-- 配送温度帯ラベル(任意) -->
+    {% for delivery_group_name in product.delivery_group_names %}
+      {{ delivery_group_name }}
+    {% endfor %}
+  {% endif %}
+
+  <!-- 予約関連情報(任意) -->
+  {% if base_info.use_pre_order? and product.master.pre_order.is_pre_order? %}
     お届け予定時期:{{ product.master.pre_order.pre_ordered_delivery_description }}
     {{ pre_order_settings.notes }}
   {% 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 %}
-        予約商品
+      <!-- 商品バッジ(任意) -->
+      {% if pre_order_badge_flg_hash[related_product.master.id] or delivery_group_badge_flg_hash[related_product.id] %}
+        <!-- 商品予約マーク(任意) -->
+        {% if pre_order_badge_flg_hash[related_product.master.id] %}
+          予約商品
+        {% endif %}
+        <!-- 配送温度帯ラベル(任意) -->
+        {% for delivery_group_name in related_product.delivery_group_names %}
+          {{ delivery_group_name }}
+        {% endfor %}
       {% endif %}
 
       <!-- 販売価格 -->

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 %}
-      予約商品
+    <!-- 商品バッジ(任意) -->
+    {% if pre_order_badge_flg_hash[product.master.id] or delivery_group_badge_flg_hash[product.id] %}
+      <!-- 商品予約マーク(任意) -->
+      {% if pre_order_badge_flg_hash[product.master.id] %}
+        予約商品
+      {% endif %}
+      <!-- 配送温度帯ラベル(任意) -->
+      {% for delivery_group_name in product.delivery_group_names %}
+        {{ delivery_group_name }}
+      {% endfor %}
     {% endif %}
 
     <!-- 販売価格(任意) -->

product > 商品カテゴリー詳細画面

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

   
     <!-- 販売価格 -->
     {{ product.first_price | number_to_currency: format: '%n %u' }}
+
+    <!-- 商品バッジ(任意) -->
+    {% if pre_order_badge_flg_hash[product.master.id] or delivery_group_badge_flg_hash[product.id] %}
+      <!-- 商品予約マーク(任意) -->
+      {% if pre_order_badge_flg_hash[product.master.id] %}
+        予約商品
+      {% endif %}
+      <!-- 配送温度帯ラベル(任意) -->
+      {% for delivery_group_name in product.delivery_group_names %}
+        {{ delivery_group_name }}
+      {% endfor %}
+    {% endif %}
   
     <!-- 説明 (PC) -->
     {{ product.parsed_description | simple_format }}

sale_ranking > ランキング画面

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

   <!-- ランキング商品名(任意) -->
   <a href="/shop/products/{{ sale_ranking.product.master.sku }}">{{ sale_ranking.product.name }}</a>
 
-  <!-- ランキング商品予約マーク(任意) -->
-  {% if enabled_pre_order and sale_ranking.product.master.pre_order.is_pre_order? and pre_order_settings.display_mark %}
-    予約商品
+  <!-- 商品バッジ(任意) -->
+  {% if pre_order_badge_flg_hash[sale_ranking.product.master.id] or delivery_group_badge_flg_hash[sale_ranking.product.id] %}
+    <!-- ランキング商品予約マーク(任意) -->
+    {% if pre_order_badge_flg_hash[sale_ranking.product.master.id] %}
+      予約商品
+    {% endif %}
+    <!-- ランキング商品配送温度帯ラベル(任意) -->
+    {% for delivery_group_name in sale_ranking.product.delivery_group_names %}
+      {{ delivery_group_name }}
+    {% endfor %}
   {% endif %}
 
   <!-- ランキング商品説明(任意) -->

mypage > 定期注文詳細画面 商品情報

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

     {% assign options = options | append: product.id | append: "," | append: subs_order.times %}
     {% assign options_array = options | split: "," %}
     <p>販売価格:<span>{{ options_array | liquid_recurring_time_price | number_to_currency: format: '%n %u' }}</span></p>
+    <!-- 追加商品バッジ(任意) -->
+    {% if delivery_group_badge_flg_hash[product.id] %}
+      <!-- 配送温度帯ラベル(任意) -->
+      {% for delivery_group_name in product.delivery_group_names %}
+        {{ delivery_group_name }}
+      {% endfor %}
+    {% endif %}
     <a href="/shop/customer/subs_orders/{{ subs_order.number }}/order_items/add?product_number={{ product.number }}">
       <button>追加する</button>
     </a>

mypage > 定期注文詳細画面 商品の追加

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

   <!-- 商品詳細(任意) -->
   {{ product.parsed_description }}
 
+  <!-- 商品バッジ(任意) -->
+  {% if delivery_group_badge_flg_hash[product.id] %}
+    <!-- 配送温度帯ラベル(任意) -->
+    {% for delivery_group_name in product.delivery_group_names %}
+      {{ delivery_group_name }}
+    {% endfor %}
+  {% 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 %}
-      予約商品
+    <!-- 商品バッジ(任意) -->
+    {% if pre_order_badge_flg_hash[favorite.product.master.id] or delivery_group_badge_flg_hash[favorite.product.id] %}
+      <!-- 商品予約マーク(任意) -->
+      {% if pre_order_badge_flg_hash[favorite.product.master.id] %}
+        予約商品
+      {% endif %}
+      <!-- 配送温度帯ラベル(任意) -->
+      {% for delivery_group_name in favorite.product.delivery_group_names %}
+        {{ delivery_group_name }}
+      {% endfor %}
     {% endif %}
 
     <!-- 操作 -->

shared_partial > cart_modal

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

               <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 %}
-                予約商品
+              <!-- 商品バッジ(任意) -->
+              {% if pre_order_badge_flg_cart_modal_hash[order_item.variant.id] or delivery_group_badge_flg_cart_modal_hash[order_item.product.id] %}
+                <!-- 商品予約マーク(任意) -->
+                {% if pre_order_badge_flg_cart_modal_hash[order_item.variant.id] %}
+                  予約商品
+                {% endif %}
+                <!-- 配送温度帯ラベル(任意) -->
+                {% for delivery_group_name in order_item.product.delivery_group_names %}
+                  {{ delivery_group_name }}
+                {% endfor %}
               {% endif %}
               <!-- 規格(任意) -->

会員情報変更と定期便のお届け先住所の同時変更対応

mypage > 会員情報変更画面

ec_force/shop/customer/base/edit.html.liquid
ec_force/shop/customer/base/edit.html+smartphone.liquid

 
       <input type="hidden" value="{{ current_customer.billing_address.id }}" name="customer[billing_address_attributes][id]" id="customer_billing_address_attributes_id">
 
+      {% if subs_orders.size > 0 %}
+        <!-- 上記のお届先情報の変更を反映させる購入済定期便一覧 -->
+        <label for="address_customer_shipping_subs_orders">購入済の定期便に反映させる</label>
+
+        <!-- 全てに変更を反映させるチェックボックス -->
+        <input id="toggle_all_subs_orders" type="checkbox"{% if default_checked %} checked="checked"{% endif %}>
+
+        {% for subs_order in subs_orders %}
+
+          <!-- 変更を反映させるチェックボックス -->
+          <input name="subs_order_numbers[]" type="checkbox" value="{{ subs_order.number }}"{% if default_checked %} checked="checked"{% endif %}>
+
+          <!-- 定期番号 -->
+          {% 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.human_state_name }}
+
+          <!-- 小計(任意) -->
+          {{ subs_order.subtotal | number_to_currency: format: '%n %u' }}
+
+          <!-- 作成日(任意) -->
+          {{ subs_order.created_at | date: "%Y/%m/%d %H:%M" }}
+
+          <!-- 商品名(任意) -->
+          {{ subs_order.order_items | map: 'variant' | map: 'product' | map: 'name' | join ',' }}
+
+          <!-- お届け先(任意) -->
+          {{ subs_order.shipping_address.full_address }}
+
+          <!-- 次回配送予定日(任意) -->
+          {% 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 %}
+        {% endfor %}
+
+        <!-- 次回配送予定日の変更が許可されているか(任意) -->
+        {% if base_info.scheduled_to_be_delivered_at_changeable_on_mypage? %}
+          <!-- 受注変更可能日(任意) -->
+          {% if subs_order_settings['new_order_creation_origin?'] %}
+            ※定期情報の変更をする場合は、次回発送予定日の{{ subs_order_settings['create_new_order_x_days_before_shipping'] | plus: '1' }}日前までに行ってください。過ぎた場合は、次々回分からの受注に対して変更が反映されます。
+          {% else %}
+            ※定期情報の変更をする場合は、次回配送予定日の{{ subs_order_settings['create_new_order_x_days_before_shipping'] | plus: '1' }}日前までに行ってください。過ぎた場合は、次々回分からの受注に対して変更が反映されます。
+          {% endif %}
+        {% endif %}
+      {% endif %}
+
       <!-- メールアドレス -->

マイページログインのパスワード強度の強化

パスワード強度の設定は 会員パスワード設定 (opens in a new tab) でおこないます。
以下のコード変更が未対応の場合は、会員パスワード設定の設定内容に関わらず従来のルール(8文字以上が必要)でチェックします。

テーマ未更新の状態でパスワード強度を設定する際は、以下の順序での実施を推奨します。

  1. 会員パスワード設定 (opens in a new tab) の実施
  2. コピーしたテーマで以下のコード変更を適用し、プレビューで動作確認する
  3. 2で問題がなければ、2で動作確認したテーマを本番適用する

cart > 請求先住所(部分テンプレート)

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

   {% if shop_form_settings['email'] %}
     <label>メールアドレス</label>
     {% if customer_signed_in %}
-      <input disabled id='email' type='email' value='{{ current_customer.email }}'>
+      <input disabled id='email' type='email' value='{{ current_customer.email }}' class='for_password_validate'>
       <input name='order[email]' type='hidden' value='{{ current_customer.email }}'>
       <input name='order[customer_attributes][email]' type='hidden' value='{{ current_customer.email }}'>
     {% else %}
-      <input type="email" name='order[email]' autocomplete="email" id='email' class='js-email-autocomplete validate[required,custom[email],ajax[emailCheck]]' value="{% if order.email %}{{ order.email }}{% elsif line_email %}{{ line_email }}{% endif %}">
+      <input type="email" name='order[email]' autocomplete="email" id='email' class='js-email-autocomplete validate[required,custom[email],ajax[emailCheck]] for_password_validate' value="{% if order.email %}{{ order.email }}{% elsif line_email %}{{ line_email }}{% endif %}">
       <input name='order[customer_attributes][email]' type='hidden' value='{{ order.email }}' id='customer_email'>
     {% endif %}
     <!-- パスワード -->
     <label>パスワード</label>
-    <input class="validate[required,minSize[8]]" placeholder="半角英数字8文字以上" type="password" name="order[customer_attributes][password]" value="" id="order_customer_attributes_password">
+    <input class="validate[required,custom[validatePasswordForCustomerByAdminSetting]]" placeholder="半角英数字8文字以上" type="password" name="order[customer_attributes][password]" value="" id="order_customer_attributes_password">
     <!-- パスワード(確認) -->
     {% if shop_form_settings["password_confirmation"] %}
       <label for="customer_password_confirmation">パスワード(確認)</label>

auth > 会員ログイン/会員登録画面・会員登録画面

ec_force/shop/customers/registrations/new.html.liquid
ec_force/shop/customers/registrations/new.html+smartphone.liquid
ec_force/shop/customers/sessions/new.html.liquid
ec_force/shop/customers/sessions/new.html+smartphone.liquid

   <!-- メールアドレス -->
   {% if shop_form_settings['email'] %}
     <label for="customer_email">メールアドレス</label>
-    <input class="validate[required,custom[email]]" type="text" name="customer[email]" autocomplete="email" id="customer_email" />
+    <input class="validate[required,custom[email]] for_password_validate" type="text" name="customer[email]" autocomplete="email" id="customer_email" />
   {% endif %
   <!-- パスワード -->
   <label for="customer_password">パスワード</label>
-  <input class="validate[required,minSize[8]]" placeholder="半角英数字8文字以上" type="password" name="customer[password]" id="customer_password" />
+  <input class="validate[required,custom[validatePasswordForCustomerByAdminSetting]]" placeholder="半角英数字8文字以上" type="password" name="customer[password]" id="customer_password" />
 
   <!-- パスワード(確認) -->
   {% if shop_form_settings["password_confirmation"] %}

auth > パスワードリセット画面

ec_force/shop/customers/passwords/edit.html.liquid
ec_force/shop/customers/passwords/edit.html+smartphone.liquid

-    <input type="password" class="validate[required,minSize[8]]" id="password" name="customer[password]">
+    <input type="password" class="validate[required,custom[validatePasswordForCustomerByAdminSetting]]" id="password" name="customer[password]">
     
     <!-- 新しいパスワード (確認) -->
     <input type="password" class="validate[required,equals[password]]" name="customer[password_confirmation]" id="customer_password_confirmation">

mypage > パスワード変更画面

ec_force/shop/customer/passwords/edit.html.liquid
ec_force/shop/customer/passwords/edit.html+smartphone.liquid

     <!-- 現在のパスワード -->
     {% if shop_form_settings['current_password'] %}
-      <input class="validate[required,minSize[8]]" id="current_password" maxlength="50" name="customer[current_password]" type="password">
+      <input class="validate[required,minSize[8]]" id="current_password" maxlength="99" name="customer[current_password]" type="password">
     {% endif %}
 
     <!-- 新しいパスワード -->
-    <input class="validate[required,minSize[8]]" id="password" maxlength="50" name="customer[password]" type="password">
+    <input class="validate[required,custom[validatePasswordForCustomerByAdminSetting]]" id="password" maxlength="99" name="customer[password]" type="password">
 
     <!-- 新しいパスワード (確認) -->
-    <input class="validate[required,equals[password]]" maxlength="50" name="customer[password_confirmation]" type="password">
+    <input class="validate[required,equals[password]]" maxlength="99" name="customer[password_confirmation]" type="password">
 
     <!-- 送信ボタン -->

カートモーダル機能対応画面追加

sale_ranking > ランキング画面

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

JSタグ追加: {{ 'shop/sale_rankings' | javascript_include_tag }}

マイページでの受注キャンセル対応(2023/11リリース)

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

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

※機能リリース/該当機能設定が完了する前は、以下のコードは動作しません。(非表示となるよう記述されています)

       <!-- 領収書発行ボタン -->
         <button class="receipt-issue" value="{{ order.number }}">領収書発行</button>
     {% endif %}
+    <!-- 注文キャンセル -->
+    <div class="form-group">
+      {% if cancelable %}
+        <!-- 注文キャンセルボタン -->
+        <a class="btn btn-sm btn-danger pull-right mb20 order_cancel_on_mypage" data-confirm="本当にキャンセルしますか?" rel="nofollow" data-method="post" href="/shop/customer/orders/{{ order.number }}/cancel">キャンセル</a>
+      {% endif %}
+    </div>
+
 
   <!-- 決済エラーの場合に表示する支払い方法変更フォーム -->

セレクション機能リリース対応(2023/11リリース)

pages > フリーページ

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

 {{ page.title }}
  
 <!-- 本文 -->
-{{ page.parsed_content }}
+{{ parsed_content }}
  
 <!-- 本文(モバイル) -->
-{{ page.parsed_content_mobile }}
+{{ parsed_content_mobile }}
  
 <!-- メタディスクリプション -->
 {{ page.meta_description }}
  
 <!-- メタキーワード -->
 {{ page.meta_keywords }}

軽微な更新

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

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

     <!-- 配送伝票番号(任意) -->
-    {{ order.shipping_slip }}
+    {% if order.tracking_url == blank %}
+      {{ order.shipping_slip }}
+    {% else %}
+      <a href="{{order.tracking_url}}" target="_blank">{{ order.shipping_slip }}</a>
+    {% endif %}

shared_partial > nav

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

-  {% unless order.cv_confirm? %}
+  {% unless request_path_shop_cv_confirm %}
     {% if target_order.completed? or target_order.converted? %}
       {% if base_info.use_cart? and base_info.use_cart_modal? and display_screen_flag_for_cart_modal %}
         <!-- カートモーダル -->