テーマ仕様書 更新履歴
2024年
2024/06/20更新

2024/06/20更新

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

セレクション機能の改善

セレクション一覧画面を新規追加しました。

セレクション一覧画面では「商品管理 > セレクション管理 (opens in a new tab)」で作成したセレクションページ(特集ページ)を一覧表示します。

また「商品管理 > セレクション管理 (opens in a new tab)」で以下の項目を設定できるようになりました。

  • ステータス
  • 表示期間
  • 一覧画面での並び順

selection > セレクション一覧画面 (新規ファイル)

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

page > トップ画面

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

 {% endif %}
 <!-- イチオシ商品、新着商品一覧、セール商品一覧(全て任意)、ランキング ここまで-->
+
+<!-- セレクション(特集)一覧 (任意)ここから -->
+<!-- 特集一覧ページへのリンク(任意) -->
+<a href="/shop/selections">特集一覧へ</a>
+
+<!-- 特集(任意) -->
+{% if selections.size != 0 %}
+
+  <!-- 特集(任意) -->
+  {% for selection in selections %}
+
+    <!-- 特集アイキャッチ画像(任意) -->
+    <a href="/shop/selections/{{ selection.friendly_id }}">
+      <img src='{{ selection.eye_catch_path }}' alt="{{ selection.title }}">
+    </a>
+
+    <!-- 特集タイトル(任意) -->
+    <a href="/shop/information/{{ selection.friendly_id }}">{{ selection.title }}</a>
+  {% endfor %}
+
+{% endif %}
+<!-- セレクション(特集)一覧 (任意)ここまで-->

併売商品機能への対応

「商品管理 > 商品管理」で設定した併売商品の情報を呼び出せるようになります。
また「ショップ管理 > 各種設定 > ショップの機能設定 (opens in a new tab)」の「併売商品複数設定:有効」機能にも対応しています。

product > 商品詳細画面

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

     予約受付期間外のためカートに商品を追加できません。
   {% endif %}
 
+  <!-- 併売の場合はフォームを隠す -->
+  {% if base_info.multiple_co_selling_products and product.has_co_selling_product? %}
+    {% assign style = 'display:none;' %}
+  {% else %}
+    {% assign style = '' %}
+  {% endif %}
+
   <!-- 商品選択フォーム -->
-  <form id="add-shop-cart-form" action="/shop/cart/add" method="post">
+  <form id="add-shop-cart-form" action="/shop/cart/add" method="post" style="{{ style }}">
 
     <!-- 規格選択 -->
     <input id="variant-id" type="hidden" name="variant_id" value="{{ product.master.id }}">
     <div id="option_types"></div>
 
     <!-- 数量選択 -->
     <!-- カート追加 -->
     {% 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>
 
+  <!-- 併売商品が設定されている場合 -->
+  {% if product.has_co_selling_product? %}
+    <!--「ショップ管理 > 各種設定 > ショップの機能設定」の「併売商品複数設定」が有効の場合 -->
+    {% if base_info.multiple_co_selling_products? %}
+      <div id="co-selling-product-view">
+        <ul>
+          <li class="co-selling-tab">
+            <a id="co-selling-single-tab" href="#co-selling-single">通常購入</a>
+          </li>
+          <li class="co-selling-tab">
+            <a id="co-selling-recurring-tab" href="#co-selling-recurring">定期購入</a>
+          </li>
+          <li class="co-selling-tab">
+            <a id="co-selling-relations-tab" href="#co-selling-relations">関連商品</a>
+          </li>
+        </ul>
+        <div>
+
+          <!-- 単品商品 -->
+          <div id="co-selling-single">
+            {% for co_selling_product in co_selling_products["single"] %}
+              <div class="co-selling-list" data-product-id="{{ co_selling_product["id"] }}">
+                {{ co_selling_product["name"] }}
+                <span class="co-list_price">{{ co_selling_product["list_price"] }}</span>
+                <span class="co-list_price_include_tax">{{ co_selling_product["list_price_include_tax"] }}</span>
+                <span class="co-sales_price">{{ co_selling_product["sales_price"] }}</span>
+                <span class="co-sales_price_include_tax">{{ co_selling_product["sales_price_include_tax"] }}</span>
+                {% if co_selling_product["labels"] or co_selling_product["delivery_group_names"] %}
+                  {% for co_selling_label in co_selling_product["labels"] %}
+                    {{ co_selling_label["name"] }}
+                  {% endfor %}
+                  {% for delivery_group_name in co_selling_product["delivery_group_names"] %}
+                    {{ delivery_group_name }}
+                  {% endfor %}
+                {% endif %}
+                {% if co_selling_product["invalid_pre_order"] %}
+                  予約受付期間外のためカートに商品を追加できません。
+                {% endif %}
+                <p class="co-campaign" style="display: none;">
+                  セール終了まで<span class="co-campaign-text"></span>
+                </p>
+                <form class="co-add-shop-cart-form" action="/shop/cart/add" method="post">
+                  <input class="co-variant-id" type="hidden" name="variant_id" value="{{ co_selling_product["master"]["id"] }}">
+                  <div class="co-option_types">
+                    <div class="co-form-input-group">
+                      <input class="co-text-out-of-stock" value="在庫切れ" disabled style="display:none;">
+                      <select class="co-quantity" name="quantity" style="display:none;"></select>
+                      <a class="co-btn-stock-waiting-list" href="javascript:void(0);" style="display:none;">再入荷お知らせ</a>
+                      {% unless co_selling_product["invalid_pre_order"] %}
+                        <button class="co-btn-add-async" type="button" style="display:none;">カートに商品を追加</button>
+                        <button class="co-btn-add" style="display:none;">購入手続きへ</button>
+                      {% endunless %}
+                    </div>
+                  </div>
+                </form>
+              </div>
+            {% endfor %}
+          </div>
+
+          <!-- 定期商品 -->
+          <div id="co-selling-recurring">
+            {% for co_selling_product in co_selling_products["recurring"] %}
+              <div class="co-selling-list" data-product-id="{{ co_selling_product["id"] }}">
+                {{ co_selling_product["name"] }}
+                <span class="co-list_price">{{ co_selling_product["list_price"] }}</span>
+                <span class="co-list_price_include_tax">{{ co_selling_product["list_price_include_tax"] }}</span>
+                <span class="co-sales_price">{{ co_selling_product["sales_price"] }}</span>
+                <span class="co-sales_price_include_tax">{{ co_selling_product["sales_price_include_tax"] }}</span>
+                {% if co_selling_product["labels"] or co_selling_product["delivery_group_names"] %}
+                  {% for co_selling_label in co_selling_product["labels"] %}
+                    {{ co_selling_label["name"] }}
+                  {% endfor %}
+                  {% for delivery_group_name in co_selling_product["delivery_group_names"] %}
+                    {{ delivery_group_name }}
+                  {% endfor %}
+                {% endif %}
+                {% if co_selling_product["invalid_pre_order"] %}
+                  予約受付期間外のためカートに商品を追加できません。
+                {% endif %}
+                <p class="co-campaign" style="display: none;">
+                  セール終了まで<span class="co-campaign-text"></span>
+                </p>
+                <form class="co-add-shop-cart-form" action="/shop/cart/add" method="post">
+                  <input class="co-variant-id" type="hidden" name="variant_id" value="{{ co_selling_product["master"]["id"] }}">
+                  <div class="co-option_types">
+                    <div class="co-form-input-group">
+                      <input class="co-text-out-of-stock" value="在庫切れ" disabled style="display:none;">
+                      <select class="co-quantity" name="quantity" style="display:none;"></select>
+                      <a class="co-btn-stock-waiting-list" href="javascript:void(0);" style="display:none;">再入荷お知らせ</a>
+                      {% unless co_selling_product["invalid_pre_order"] %}
+                        <button class="co-btn-add-async" type="button" style="display:none;">カートに商品を追加</button>
+                        <button class="co-btn-add" style="display:none;">購入手続きへ</button>
+                      {% endunless %}
+                    </div>
+                  </div>
+                </form>
+              </div>
+            {% endfor %}
+          </div>
+
+          <!-- 関連商品 -->
+          <div id="co-selling-relations">
+            {% for relation_product in relation_products %}
+              <div class="co-selling-list" data-product-id="{{ relation_product["id"] }}">
+                {{ relation_product["name"] }}
+                <span class="co-list_price">{{ relation_product["list_price"] }}</span>
+                <span class="co-list_price_include_tax">{{ relation_product["list_price_include_tax"] }}</span>
+                <span class="co-sales_price">{{ relation_product["sales_price"] }}</span>
+                <span class="co-sales_price_include_tax">{{ relation_product["sales_price_include_tax"] }}</span>
+                {% if relation_product["labels"] or relation_product["delivery_group_names"] %}
+                  {% for co_selling_label in relation_product["labels"] %}
+                    {{ co_selling_label["name"] }}
+                  {% endfor %}
+                  {% for delivery_group_name in relation_product["delivery_group_names"] %}
+                    {{ delivery_group_name }}
+                  {% endfor %}
+                {% endif %}
+                {% if relation_product["invalid_pre_order"] %}
+                  予約受付期間外のためカートに商品を追加できません。
+                {% endif %}
+                <p class="co-campaign" style="display: none;">
+                  セール終了まで<span class="co-campaign-text"></span>
+                </p>
+                <form class="co-add-shop-cart-form" action="/shop/cart/add" method="post">
+                  <input class="co-variant-id" type="hidden" name="variant_id" value="{{ relation_product["master"]["id"] }}">
+                  <div class="co-option_types">
+                    <div class="co-form-input-group">
+                      <input class="co-text-out-of-stock" value="在庫切れ" disabled style="display:none;">
+                      <select class="co-quantity" name="quantity" style="display:none;"></select>
+                      <a class="co-btn-stock-waiting-list" href="javascript:void(0);" style="display:none;">再入荷お知らせ</a>
+                      {% unless relation_product["invalid_pre_order"] %}
+                        <button class="co-btn-add-async" type="button" style="display:none;">カートに商品を追加</button>
+                        <button class="co-btn-add" style="display:none;">購入手続きへ</button>
+                      {% endunless %}
+                    </div>
+                  </div>
+                </form>
+              </div>
+            {% endfor %}
+          </div>
+        </div>
+      </div>
+    <!-- 「ショップ管理 > 各種設定 > ショップの機能設定」の「併売商品複数設定」が無効の場合 -->
+    {% else %}
+      <button id="btn-single-product" disabled>単品購入</button>
+      <button id="btn-recurring-product">定期購入</button>
+    {% endif %}
+  {% endif %}
 
   <!-- お気に入り登録 -->