テーマ仕様書 更新履歴
2023年
2023/02/15更新

2023/02/15更新

+ 追加した行
- 削除した行

カートページへ遷移せずにカートへ商品を追加できるボタンを追加

product > 商品詳細画面

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

 <!-- 商品詳細画面 -->
 <div id="product-show-view">
-
+  <!-- カートに商品を追加用のメッセージ -->
+  <div id="cart-addition-success" style="display:none;">カートに商品を追加しました。</div>
+  <div id="cart-addition-failure" style="display:none;">
+    <div id="addition-failure-message"></div>
+    <div id="btn-show-addition-failure-details" style="display:none;">さらに詳しく</div>
+    <div id="addition-failure-details" style="display:none;"></div>
+    <div id="btn-hide-addition-failure-details" style="display:none;">閉じる</div>
+  </div>
 
   <!-- 商品画像 -->
   <!-- 商品選択フォーム -->
-  <form action="/shop/cart/add" method="post">
+  <form id="add-shop-cart-form" action="/shop/cart/add" method="post">
     <!-- カート追加 -->
-    <button id="btn-add" style='display:none;'>カートに追加</button>
+    <button id="btn-add-async" type="button" style="display:none;">カートに商品を追加</button>
+    <button id="btn-add" style="display:none;">購入手続きへ</button>
   </form>

shared_partial > nav

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

   <!-- カート画面へのリンク -->
   {% if order.completed? or order.converted? %}
-    <a href="/shop/cart">カートを見る 0 点</a>
+    <a href="/shop/cart">カートを見る <span id="header-order-quantity">0</span> 点</a>
   {% else %}
-    <a href="/shop/cart">カートを見る {% if current_order %}{{ current_order.quantity }}{% else %}{{ order.quantity }}{% endif %} 点</a>
+    <a href="/shop/cart">カートを見る <span id="header-order-quantity">{% if current_order %}{{ current_order.quantity }}{% else %}{{ order.quantity }}{% endif %}</span> 点</a>
   {% endif %}

shared_partial > sidebar

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

   {% if base_info.use_cart? %}
     <!-- 合計数量 -->
-    {% if current_order %}{{ current_order.quantity }}{% else %}{{ order.quantity }}{% endif %}
+    <span id="sidebar-order-quantity">{% if current_order %}{{ current_order.quantity }}{% else %}{{ order.quantity }}{% endif %}</span>
 
     <!-- 商品小計 -->
-    {% if current_order %}{{ current_order.subtotal | number_to_currency: format: '%n %u' }}{% else %}{{ order.subtotal | number_to_currency: format: '%n %u' }}{% endif %}
+    <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>
 
     <!-- カートへのリンク -->
     <a href="/shop/cart">カートの中を見る</a>

サンクスオファー購入時に特定の条件で付与予定ポイントが0ポイントと表示される不具合の修正

cart > 注文情報入力画面

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

    <input name="order[state]" type="hidden" value="new">
    {% if base_info.skip_order_confirm_for_shop? %}
      <input name="order[skip_order_confirm]" type="hidden" value="true">
+     <input id="current_order_point_key" name="current_order_point_key" type="hidden">
    {% endif %}
 
    <!-- エラーメッセージ -->

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

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

       <input id="scheduled_1st_delivery_date" name="order[scheduled_to_be_delivered_at]" type="hidden" value="{{ order.scheduled_to_be_delivered_at }}">
       <input id="scheduled_1st_delivery_time" name="order[scheduled_delivery_time]" type="hidden" value="{{ order.scheduled_delivery_time }}">
       <input id="offer_name" name="order[offer_name]" type="hidden" value="{{ order.offer_name }}">
+      <input id="current_order_point_key" name="current_order_point_key" type="hidden" value="{{ preview_grant_plan_point_key }}">
     {% endunless %}
     <div id="expired_cv_confirm" style="display: none;">
       有効期限を経過しました。

SMS会員認証/電話番号購入機能のリリース準備のため

SMS会員認証/電話番号購入機能(オプション機能)をご利用にならない場合は、変更の必要はありません。

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_billing_address_attributes_tel01">電話番号</label>
   {% if shop_form_settings['tel_1_field'] %}
     <input class="validate[required,custom[integer]]" type="text" value="" name="customer[billing_address_attributes][tel01]" id="customer_billing_address_attributes_tel01" maxlength='12' />
   {% else %}
     <input class="validate[required,custom[integer]]" type="text" value="" name="customer[billing_address_attributes][tel01]" id="customer_billing_address_attributes_tel01" maxlength='5' />
     <span>−</span>
     <input class="validate[required,custom[integer]]" type="text" value="" name="customer[billing_address_attributes][tel02]" id="customer_billing_address_attributes_tel02" maxlength='4' />
     <span>−</span>
     <input class="validate[required,custom[integer]]" type="text" value="" name="customer[billing_address_attributes][tel03]" id="customer_billing_address_attributes_tel03" maxlength='4' />
   {% endif %}
+  {% unless shop_form_settings['email'] %}
+    <span>※ご注文・発送に関するご連絡用にSMS受信可能な携帯電話番号をご入力ください。</span>
+  {% endunless %}
 
   <!-- FAX番号 -->
   <!-- メールアドレス -->
-  <label for="customer_email">メールアドレス</label>
-  <input class="validate[required,custom[email]]" type="text" name="customer[email]" id="customer_email" />
+  {% if shop_form_settings['email'] %}
+    <label for="customer_email">メールアドレス</label>
+    <input class="validate[required,custom[email]]" type="text" name="customer[email]" id="customer_email" />
+  {% endif %}

cart > 注文情報確認画面 , サンクスオファー確認画面

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

     <!-- メールアドレス -->
-    {{ order.email }}
+    {% if shop_form_settings['email'] %}
+      {{ order.email }}
+    {% endif %}

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

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

       <span>-</span>
       <input type="tel" class='validate[required,custom[integer]]' maxlength='4' name='order[billing_address_attributes][tel03]' value='{% if order.billing_address %}{{ order.billing_address.tel03 }}{% else %}{{ order.customer.billing_address.tel03 }}{% endif %}'>
     {% endif %}
+    {% unless shop_form_settings['email'] %}
+      <span>※ご注文・発送に関するご連絡用にSMS受信可能な携帯電話番号をご入力ください。</span>
+    {% endunless %}
   </div>
 
   <!-- FAX番号 -->
   <!-- メールアドレス -->
-  <label>メールアドレス</label>
-  {% if customer_signed_in %}
-    <input disabled id='email' type='email' value='{{ current_customer.email }}'>
-    <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]' 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 name='order[customer_attributes][email]' type='hidden' value='{{ order.email }}' id='customer_email'>
-  {% endif %}
+  {% if shop_form_settings['email'] %}
+    <label>メールアドレス</label>
+    {% if customer_signed_in %}
+      <input disabled id='email' type='email' value='{{ current_customer.email }}'>
+      <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]' 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 name='order[customer_attributes][email]' type='hidden' value='{{ order.email }}' id='customer_email'>
+    {% endif %}
 
-  <!-- メールアドレス(確認) -->
-  <label>メールアドレス(確認)</label>
-  {% if customer_signed_in %}
-    <input disabled name='order[email_confirmation]' type='email' value='{{ current_customer.email }}'>
-  {% else %}
-    <input class='js-email-autocomplete validate[required,custom[email],equals[email]],ajax[emailCheck]]' name='order[email_confirmation]' type='email' value="{% if order.email %}{{ order.email }}{% elsif line_email %}{{ line_email }}{% endif %}">
+    <!-- メールアドレス(確認) -->
+    <label>メールアドレス(確認)</label>
+    {% if customer_signed_in %}
+      <input disabled name='order[email_confirmation]' type='email' value='{{ current_customer.email }}'>
+    {% else %}
+      <input class='js-email-autocomplete validate[required,custom[email],equals[email]],ajax[emailCheck]]' name='order[email_confirmation]' type='email' value="{% if order.email %}{{ order.email }}{% elsif line_email %}{{ line_email }}{% endif %}">
+    {% endif %}
   {% endif %}
 
   <!-- 性別 -->

mypage > マイページ画面

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

   <!-- メールアドレス(任意) -->
-  {{ current_customer.email }}
+  {% if shop_form_settings['email'] %}
+    {{ current_customer.email }}
+  {% endif %}

mypage > 会員情報変更画面

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

       <!-- メールアドレス -->
-      <label for="customer_email">メールアドレス</label>
-      <input class="validate[required,custom[email]]" type="email" value="{{ current_customer.email }}" name="customer[email]" id="customer_email">
+      {% if shop_form_settings['email'] %}
+        <label for="customer_email">メールアドレス</label>
+        <input class="validate[required,custom[email]]" type="email" value="{{ current_customer.email }}" name="customer[email]" id="customer_email">
+      {% endif %}

マイページでの頒布会商品変更時に商品除外フィルタを利用できるようにする

2023/02/15時点で未リリースです。リリース予定機能のための事前更新です。

mypage > 定期注文詳細画面 頒布会商品の編集

ec_force/shop/customer/subs_orders/distribution_clubs/edit.html.liquid
ec_force/shop/customer/subs_orders/distribution_clubs/edit.html+smartphone.liquid

   {{ 'alert' | flash: 'alert alert-danger', 'text' }}
   {{ 'error' | flash: 'alert alert-danger', 'text' }}
 
+  {% if base_info.use_distribution_club and base_info.use_product_filter_on_mypage %}
+    <div>
+      <button class='btn btn-default btn-filter'>除外フィルター</button>
+    </div>
+  {% endif %}
+
   <!-- 頒布会選択商品変更フォーム -->
   <form action="/shop/customer/subs_orders/{{ subs_order.number }}/distribution_clubs/{{ distribution_club.id }}" accept-charset="UTF-8" method="post">
     <input type="hidden" name="_method" value="put">
     <input type="hidden" name="changeable_distribution_club_id" value="{{ changeable_distribution_club_id }}">
+    <input type="hidden" name="selected_filter" id="selected-filter" value="">
 
+    {% assign product_ids = "" %}
     {% if distribution_changed %}
       <!-- 商品切替変更 -->
       <!-- 商品名 -->
       {% for variant in distribution_club_variants %}
         {% assign changeable_variants = changeable_variants_hash[variant.id] %}
         {% if changeable_variants.size == 0 %}
           <!-- 頒布会選択商品名 -->
           {{ variant.name }}
           <input name="select_items[item][][selected_variant_id]" type="hidden" value="{{ variant.id }}">
         {% else %}
           <!-- 変更可能頒布会選択商品名(規格) -->
-          <select name="select_items[item][][selected_variant_id]">
+          <select class="select-variants" name="select_items[item][][selected_variant_id]">
             {% for variant in changeable_variants %}
               {% if variant.option_values_presentation == blank %}
                 {% capture product_options %}
                   {{ variant.product.name }}
                 {% endcapture %}
               {% else %}
                {% capture product_options %}
                   {{ variant.product.name }}({{ variant.option_values_presentation }})
                 {% endcapture %}
               {% endif %}
-              <option value="{{ variant.id }}" {% if order_item.variant.id == variant.id %}selected{% endif %}>{{ product_options }}</option>
+              <option filtered-product-id="{{ variant.product_id }}" value="{{ variant.id }}" {% if order_item.variant.id == variant.id %}selected{% endif %}>{{ product_options }}</option>
+              {% assign product_ids = product_ids | append: variant.product_id | append: "," %}
             {% endfor %}
           </select>
         {% endif %}
             <!-- 変更可能頒布会選択商品名(規格) -->
-            <select name="select_items[{{order_item.id}}][][selected_variant_id]">
+            <select class="select-variants" name="select_items[{{order_item.id}}][][selected_variant_id]">
               {% for variant in changeable_variants %}
                 {% if variant.option_values_presentation == blank %}
                   {% capture product_options %}
                    {{ variant.product.name }}
                   {% endcapture %}
                 {% else %}
                   {% capture product_options %}
                    {{ variant.product.name }}({{ variant.option_values_presentation }})
                   {% endcapture %}
                 {% endif %}
 
-                <option value="{{ variant.id }}" {% if order_item.variant.id == variant.id %}selected{% endif %}>{{ product_options }}</option>
+                <option filtered-product-id="{{ variant.product_id }}" value="{{ variant.id }}" {% if order_item.variant.id == variant.id %}selected{% endif %}>{{ product_options }}</option>
+                {% assign product_ids = product_ids | append: variant.product_id | append: "," %}
               {% endfor %}
             </select>
             <input name="select_items[{{order_item.id}}][][origin_variant_id]" type="hidden" value="{{ order_item.variant_id }}">
         {% endfor %}
       {% endfor %}
     {% endif %}
+    <input type="hidden" name="product_ids" id="product_ids" value="{{ product_ids }}" />
 
     <!-- 送信ボタン -->
-    <input id='submit' type="submit" value="保存">
+    <input class='submit' id='submit' type="submit" value="保存">
 
     <!-- 戻るボタン -->
     <a href="/shop/customer/subs_orders/{{ subs_order.number }}/order_items">戻る</a>