テーマ仕様書 更新履歴
2023年
2023/09/20更新

2023/09/20更新

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

ランキング機能

sale_lanking > ランキング画面

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

※新規追加ファイルです。

page > トップ画面

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

+  <!-- ランキング(任意) -->
+  {% if base_info.use_product_sale_ranking and sale_rankings.size != 0 %}
+    <a href="/shop/sale_ranking">ランキング画面へ</a>
+
+    <!-- ランキングx件表示 例) limit: 5 => ランキング5件表示 -->
+    {% for sale_ranking in sale_rankings | limit: 5 %}
+
+      <!-- ランキング商品サムネイル画像(任意) -->
+      <a href="/shop/products/{{ sale_ranking.product.master.sku }}">
+        {% if sale_ranking.product.thumbnail.url %}
+          {% assign src = sale_ranking.product.thumbnail.url %}
+        {% else %}
+          {% assign src = 'missing' | image_url %}
+        {% endif %}
+        <img src='{{ src }}'>
+      </a>
+
+      <!-- ランキング順位(任意) -->
+      {{ sale_ranking.rank }}位
+
+      <!-- ランキング商品名(任意) -->
+      <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 %}
+        予約商品
+      {% endif %}
+
+      <!-- ランキング商品説明(任意) -->
+      {{ sale_ranking.product.description | simple_format }}
+
+      <!-- ランキング商品販売価格(任意) -->
+      {{ sale_ranking.product.first_price | number_to_currency: format: '%n %u' }}
+
+    {% endfor %}
+
+  {% endif %}

カートモーダル機能

shared_partial > cart_modal

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

※新規追加ファイルです。

shared_partial > nav

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

+<!-- カートモーダル利用時は必須 -->
+<nav>
 
  <!-- ロゴ -->
  <a href="/shop">
  {% if base_info.logo %}
    {% assign src = base_info.logo.url %}
  {% else %}
    {% assign src = 'default-shop-logo' | image_url %}
  {% endif %}
 
  <img src="{{ src }}">
  </a>
 
  {% if current_order %}
    {% assign target_order = current_order %}
  {% else %}
    {% assign target_order = order %}
  {% endif %}
 
  {% unless order.cv_confirm? %}
    {% if target_order.completed? or target_order.converted? %}
-    <a href="/shop/cart">カートを見る <span id="header-order-quantity">0</span> 点</a>
+      {% if base_info.use_cart? and base_info.use_cart_modal? and display_screen_flag_for_cart_modal %}
+        <!-- カートモーダル -->
+        <a id="show-cart-modal" href="#">カートを見る <span id="header-order-quantity">0</span> 点</a>
+      {% else %}
+         <!-- カート画面へのリンク -->
+         <a href="/shop/cart">カートを見る <span id="header-order-quantity">0</span> 点</a>
+       {% endif %}
+    {% else %}
+      {% if base_info.use_cart? and base_info.use_cart_modal? and display_screen_flag_for_cart_modal %}
+        <!-- カートモーダル -->
+        <a id="show-cart-modal" href="#">カートを見る <span id="header-order-quantity">{{ target_order.quantity }}</span> 点</a>
+      {% else %}
+        <!-- カート画面へのリンク -->
+        <a href="/shop/cart">カートを見る <span id="header-order-quantity">{{ target_order.quantity }}</span> 点</a>
+      {% endif %}
    {% endif %}
 
    {% if customer_signed_in %}
      <!-- マイページへのリンク -->
      <a href="/shop/customer">マイページ</a>
      <!-- ログアウト -->
      <a href="/shop/customers/sign_out">ログアウト</a>
    {% else %}
      <!-- ログイン -->
      <a href="/shop/customers/sign_in">ログイン</a>
    {% endif %}
  {% endunless %}
 
+<!-- カートモーダル利用時は必須 -->
+</nav>

layout > 購入以外

layouts/ec_force/shop.html.liquid
layouts/ec_force/shop.html+smartphone.liquid

     <!-- 各テンプレートを呼び出すための記述 -->
     {{ content_for_layout }}
 
+    <!-- カートモーダルを呼び出すための記述 -->
+    {% if base_info.use_cart_modal? and display_screen_flag_for_cart_modal %}
+      {% include 'ec_force/shop/shared/cart_modal.html' %}
+    {% endif %}
+
     <!-- フッター: shared_partial(footer) の読み込み (任意) -->
     {% include 'ec_force/shop/shared/footer.html' %}

ニュースのNo image画像を差し替え可能に

No image 画像は「ショップ管理 > 各種設定 > ショップの基本設定 (opens in a new tab)」または「設定 > 一般設定 > ショップの基本設定 (opens in a new tab)」の「デフォルト画像設定 > デフォルト No Image(ニュース)」で設定します。

page > トップ画面 / information > お知らせ一覧画面/お知らせカテゴリー画面

ec_force/shop/base/index.html.liquid
ec_force/shop/base/index.html+smartphone.liquid
ec_force/shop/informations/index.html.liquid
ec_force/shop/informations/index.html+smartphone.liquid
ec_force/shop/information_categories/show.html.liquid
ec_force/shop/information_categories/show.html+smartphone.liquid

変更箇所は同一です。

-        {% assign src = 'missing' | image_url %}
+        {% assign src = default_information_thumbnail_url %}

「パスワードの確認」の表示有無設定対応

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

変更箇所は同一です。

   <label for="customer_password">パスワード</label>
   <input class="validate[required,minSize[8]]" placeholder="半角英数字8文字以上" type="password" name="customer[password]" id="customer_password" />
 
+  <!-- パスワード(確認) -->
+  {% if shop_form_settings["password_confirmation"] %}
+    <label for="customer_password_confirmation">パスワード(確認)</label>
+    <input class="validate[required,minSize[8],equals[customer_password]]" placeholder="半角英数字8文字以上" type="password" name="customer[password_confirmation]" id="customer_password_confirmation" />
+  {% endif %}
+
   <!-- 連携用顧客番号 -->
   {% if shop_form_settings['link_number'] %}
     <label>{{ shop_form_settings['link_number_label'] }}</label>

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

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

   <!-- 同時に会員登録と購入を行う際のパスワード -->
   {% if guest_flag and customer_signed_in != true %}
+    <!-- パスワード -->
     <label>パスワード</label>
-    <input class="validate[required,minSize[8]]" placeholder="半角英数字8文字以上" type="password" name="order[customer_attributes][password]" value="">
+    <input class="validate[required,minSize[8]]" 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>
+      <input class="validate[required,minSize[8],equals[order_customer_attributes_password]]" placeholder="半角英数字8文字以上" type="password" name="order[customer_attributes][password_confirmation]" id="order_customer_attributes_password_confirmation" />
+    {% endif %}
   {% endif %}
 
 </div>

マイページトップで顧客カスタム項目が使用可能に

mypage > マイページ画面

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

   {% for granted_coupon in current_customer.granted_coupons %}
       <!-- 顧客限定クーポン名(任意) -->
       {{ granted_coupon.name }}
       <!-- 顧客限定クーポンコード(任意) -->
       {{ granted_coupon.code }}
       <!-- 顧客限定クーポン利用可能回数(任意) -->
       {{ granted_coupon.limit_count }}
       <!-- 顧客限定クーポン有効期限(任意) -->
       {{ granted_coupon.e_date | date: '%Y/%m/%d %H:%M:%S' }}
       <!-- 顧客限定クーポン使用済み回数(任意) -->
       {{ granted_coupon.id  | liquid_coupon_used_count: current_customer.id }}
   {% endfor %}
   
+  <!-- カスタム項目(任意) -->
+  {% if liquid_custom_field != empty %}
+    <!-- カスタム項目タイトル名(任意) -->
+    {{ base_info.free_columns_title }}
+    {% for custom_field_info_hash in liquid_custom_field %}
+      {% for seq_hash in custom_field_info_hash[1] %}
+        {% assign info = seq_hash[1] %}
+        <!-- カテゴリ名(任意) -->
+        {% if info['category'] %} {{ info['category'] | escape }} {% endif %}
+        {% for i_hash in info['info'] %}
+          {% assign i = i_hash[1] %}
+          <!-- 項目名(任意) -->
+          {{ i['label'] | escape }}
+          <!-- 入力、選択値(任意) -->
+          <!-- テキストエリアの改行を反映させたい場合はstyleに「white-space: pre-wrap;」を当てて下さい -->
+          {% for v in i['value'] %} {{ v | escape }} {% endfor %}
+        {% endfor %}
+      {% endfor %}
+    {% endfor %}
+  {% endif %}
+  
 </div>

キャンペーン機能用の変数追加

product > 商品詳細画面

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

     <span>{{ campaign_end_date_left }}</span>
   {% endif %}
   
+  <!-- キャンペーン割引率表示(任意) -->
+  {{ campaign_discount_rate }}
+
+  <!-- キャンペーン割引額表示(任意) -->
+  {{ campaign_discount_amount }}
+
+  <!-- キャンペーン詳細表示(任意) -->
+  {{ campaign_description }}
+
   <!-- 通常価格(任意) -->

軽微な修正

【記述修正】Google検索結果画面に商品が持つレビュー数やおすすめレベルを表示する機能

product > 商品詳細画面

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

重要
2023/11/21 にコード修正がリリースされています。
本件につきましては必ず修正版のコードをご利用ください。

<!-- Google検索結果画面に商品が持つレビュー数やおすすめレベルを表示-->
<script type="application/ld+json">
   {
     "@context": "https://schema.org/",
     "@type": "Product",
-    "name": {{ @product&.name }},
+    "name": "{{ product.name }}",
     "aggregateRating" : {
       "@type": "AggregateRating",
-      "bestRating": '5',
-      "worstRating": '1',
-      "reviewRating": {{ @reviews&.count }},
-      "ratingValue": {{ @product&.average_star }}
+      "bestRating": "5",
+      "worstRating": "1",
+      "reviewRating": "{{ product.reviews_count }}",
+      "ratingValue": "{{ product.average_star_eval }}"
     }
   }
 </script>

【記述修正】定期購入停止リンク条件の変更

「設定 > 受注/定期受注 > 定期ステータス管理 (opens in a new tab)」で active なステータスの表記を標準の「有効」から変更している場合は、記述の更新が必要です。

mypage > 定期注文詳細画面 基本情報

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

 <!-- 定期購入停止リンク -->
-{% if base_info.subs_order_cancelable? and subs_order.human_state_name == "有効" and subs_order.remaining_block_times == 0 %}
+{% if base_info.subs_order_cancelable? and subs_order.active? and subs_order.remaining_block_times == 0 %}
   {% if base_info.subs_order_cancelable_reason? and reasons.size != 0 %}
     <a href="/shop/customer/subs_orders/{{ subs_order.number }}/cancel">停止</a>
   {% else %}