テーマ仕様書 更新履歴
2024年
2024/03/21更新

2024/03/21更新

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

ギフトサービス機能対応

機能や設定の詳細はecforce FAQ: ギフトサービス機能 (opens in a new tab)をご確認ください。

cart > カート画面

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

 <!-- カート画面コンテナ -->
 <div id="cart-show-view">
   <!-- フラッシュメッセージ -->
   {{ 'notice' | flash: 'alert alert-success', 'text' }}
   {{ 'alert' | flash: 'alert alert-danger', 'text' }}
   {{ 'error' | flash: 'alert alert-danger', 'text' }}
   {{ 'order_errors' | flash: 'alert alert-danger', 'text' }}
 
+  <!-- ギフト商品の個数がギフト対象商品の個数より少ない場合の通知メッセージ -->
+  {% if gift_alert_list.size > 0 %}
+    ※個数をご確認ください
+    {% for alert in gift_alert_list %}
+      {{ alert }}
+    {% endfor %}
+  {% endif %}
+
   <!-- キャンペーンまとめ買い割引が有効の場合 -->
     <!-- カート内商品一覧 -->
-    {% for order_item in order.order_items %}
+    {% for order_item in order_items %}
       <!-- 規格 -->
-      {% for option_value in order_item.variant.option_values %}
-        {{ option_value.option_type.presentation }}: {{ option_value.presentation }}  
-      {% endfor %}
+      {{ order_item.variant.option_values_presentation }}
       <!-- 単価 -->
       {{ order_item.price_with_campaign_discount | number_to_currency: format: '%n %u' }}
       <!-- 小計 -->
       {{ order_item.subtotal_with_campaign_discount | number_to_currency: format: '%n %u' }}
     {% endfor %}
 
+    <!-- カート内ギフト商品一覧 -->
+    {% if gift_order_items.size > 0 %}
+      {% for gift_oi in gift_order_items %}
+        {% for gift_relation in gift_oi.gift_target_relations %}
+          {% if forloop.index0 == 0 %}
+            <!-- ギフト商品画像 -->
+            {% if gift_oi.available_thumbnail %}
+              {% assign src = gift_oi.available_thumbnail %}
+            {% else %}
+              {% assign src = 'missing' | image_url %}
+            {% endif %}
+            <img src="{{ src }}" />
+
+            <!-- ギフト商品名 -->
+            {{ gift_oi.variant.name }}
+
+            <!-- ギフト商品規格 -->
+            {{ gift_oi.variant.option_values_presentation }}
+
+            <!-- ギフト商品個数 -->
+            {{ gift_oi.quantity }}個
+
+            <!-- ギフト商品単価 -->
+            {{ gift_oi.price_with_campaign_discount | number_to_currency }}
+
+            <!-- ギフト商品小計 -->
+            {{ gift_oi.subtotal_with_campaign_discount | number_to_currency }}
+          {% endif %}
+
+          <!-- ギフト対象商品 -->
+          {{ gift_relation.variant.name }}
+
+          {% if gift_oi.variant.gift.noshi? == true %}
+            <!-- 表書き -->
+            {% if gift_relation.description_part_of_noshi != blank %}
+              {{ gift_relation.description_part_of_noshi }}
+            {% endif %}
+
+            <form action="/shop/cart/update_gift_relation" method="post">
+              <input type="hidden" name="_method" value="put">
+              <input type="hidden" name="variant_id" value="{{ gift_oi.variant_id }}">
+              <input type="hidden" name="gift_relation[id]" value="{{ gift_relation.id }}">
+
+              <!-- 名入れ 入力欄 -->
+              <input type="text" name="gift_relation[name_part_of_noshi]" value="{{ gift_relation.name_part_of_noshi | escape }}">
+
+              <!-- 名入れ 更新ボタン -->
+              <input type="submit" value="更新">
+            </form>
+          {% endif %}
+
+          <!-- ギフト対象商品規格 -->
+          {{ gift_relation.variant.option_values_presentation }}
+
+          <form action="/shop/cart/update_gift_relation" method="post">
+            <input type="hidden" name="_method" value="put">
+            <input type="hidden" name="variant_id" value="{{ gift_oi.variant_id }}">
+            <input type="hidden" name="gift_relation[id]" value="{{ gift_relation.id }}">
+
+            <!-- ギフト個数 -->
+            <select name="gift_relation[gift_quantity]">
+              {% for i in (1..gift_relation.order_item.quantity) %}
+                <option value="{{ i }}" {% if gift_relation.gift_quantity == i %}selected{% endif %}>{{ i }} 個</option>
+              {% endfor %}
+            </select>
+
+            <!-- ギフト個数更新ボタン -->
+            <input type="submit" value="更新">
+
+            <!-- ギフト削除ボタン -->
+            <a data-method="put" href="/shop/cart/delete_gift_relation?variant_id={{gift_oi.variant_id}}&gift_relation[id]={{ gift_relation.id }}&gift_relation[gift_quantity]={{ gift_relation.gift_quantity }}">削除</a>
+          </form>
+        {% endfor %}
+      {% endfor %}
+    {% endif %}
 
     <!-- カート内の小計 -->
     <!-- 任意記述 -->
     上記価格は税抜き価格です。次以降の画面で別途消費税が加算されます。
+
+    <!-- (PCの場合)ギフト商品一覧 -->
+    {% include 'ec_force/shop/carts/view_gift.html' %}
+
+    <!-- (SPの場合)ギフト商品一覧 -->
+    {% include 'ec_force/shop/carts/view_gift.html+smartphone' %}
+
     <!-- ショップに戻るリンク(任意) -->
     <a href="/shop">お買い物を続ける</a>
     {% if customer_signed_in %}
       <!-- 購入リンク -->

cart > 注文情報確認画面

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

     <!-- 税率の印の説明 -->
     {% for symbol_text in order.tax_symbol_texts %}
       {{ symbol_text }}
     {% endfor %}
 
+  <!-- ギフト設定情報 -->
+  {% if gift_order_items.size > 0 %}
+    {% for gift_oi in gift_order_items %}
+      {% for gift_relation in gift_oi.gift_target_relations %}
+        {% if forloop.index0 == 0 %}
+          <!-- ギフト商品名 -->
+          {{ gift_oi.name_with_tax_and_option_values_presentation }}
+        {% endif %}
+
+        <!-- ギフト対象商品名 -->
+        {{ gift_relation.variant.name_with_option_values_presentation }}
+
+        {% if gift_oi.gift.noshi? %}
+          <!-- 表書き -->
+          {% if gift_relation.description_part_of_noshi != blank %}
+            {{ gift_relation.description_part_of_noshi }}
+          {% endif %}
+
+          <!-- 名入れ -->
+          {% if gift_relation.name_part_of_noshi != blank %}
+            {{ gift_relation.name_part_of_noshi | escape }}
+          {% endif %}
+        {% endif %}
+
+        <!-- ギフト商品個数 -->
+        {{ gift_relation.gift_quantity }}
+      {% endfor %}
+    {% endfor %}
+  {% endif %}
 
   <!-- お客様情報 -->

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

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

     <!-- 税率の印の説明 -->
     {% for symbol_text in order.tax_symbol_texts %}
       {{ symbol_text }}
     {% endfor %}
 
+  <!-- ギフト設定情報 -->
+  {% if gift_order_items.size > 0 %}
+    {% for gift_oi in gift_order_items %}
+      {% for gift_relation in gift_oi.gift_target_relations %}
+        {% if forloop.index0 == 0 %}
+          <!-- ギフト商品名 -->
+          {{ gift_oi.name_with_tax_and_option_values_presentation }}
+        {% endif %}
+
+        <!-- ギフト対象商品名 -->
+        {{ gift_relation.variant.name_with_option_values_presentation }}
+
+        {% if gift_oi.gift.noshi? %}
+          <!-- 表書き -->
+          {% if gift_relation.description_part_of_noshi != blank %}
+            {{ gift_relation.description_part_of_noshi }}
+          {% endif %}
+
+          <!-- 名入れ -->
+          {% if gift_relation.name_part_of_noshi != blank %}
+            {{ gift_relation.name_part_of_noshi | escape }}
+          {% endif %}
+        {% endif %}
+
+        <!-- ギフト商品個数 -->
+        {{ gift_relation.gift_quantity }}
+      {% endfor %}
+    {% endfor %}
+  {% endif %}
 
   <!-- お客様情報 -->

cart > ギフト商品一覧(部分テンプレート)

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

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

cart > 注文情報確認プレビュー(部分テンプレート)

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

     {% for item in (1..max_item_length) %}
       <div id="parsed_caution_{{ forloop.index0 }}" aria-hidden="true"></div>
     {% endfor %}
+
+    <!-- ギフト設定情報 -->
+    {% if gift_order_items.size > 0 %}
+      {% for gift_oi in gift_order_items %}
+        {% for gift_relation in gift_oi.gift_target_relations %}
+          {% if forloop.index0 == 0 %}
+            <!-- ギフト商品名 -->
+            {{ gift_oi.name_with_tax_and_option_values_presentation }}
+          {% endif %}
+
+          <!-- ギフト対象商品名 -->
+          {{ gift_relation.variant.name_with_option_values_presentation }}
+
+          {% if gift_oi.gift.noshi? %}
+            <!-- 表書き -->
+            {% if gift_relation.description_part_of_noshi != blank %}
+              {{ gift_relation.description_part_of_noshi }}
+            {% endif %}
+
+            <!-- 名入れ -->
+            {% if gift_relation.name_part_of_noshi != blank %}
+              {{ gift_relation.name_part_of_noshi | escape }}
+            {% endif %}
+          {% endif %}
+
+          <!-- ギフト商品個数 -->
+          {{ gift_relation.gift_quantity }}
+        {% endfor %}
+      {% endfor %}
+    {% endif %}
+
   </div>
 </div>

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

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

 <!-- 税率の印の説明 -->
 {% for symbol_text in order.tax_symbol_texts %}
   {{ symbol_text }}
 {% endfor %}
 
+<!-- ギフト設定情報 -->
+{% if gift_order_items.size > 0 %}
+  {% for gift_oi in gift_order_items %}
+    {% for gift_relation in gift_oi.gift_target_relations %}
+      {% if forloop.index0 == 0 %}
+        <!-- ギフト商品名 -->
+        {{ gift_oi.name_with_tax_and_option_values_presentation }}
+      {% endif %}
+
+      <!-- ギフト対象商品名 -->
+      {{ gift_relation.variant.name_with_option_values_presentation }}
+
+      {% if gift_oi.gift.noshi? %}
+        <!-- 表書き -->
+        {% if gift_relation.description_part_of_noshi != blank %}
+          {{ gift_relation.description_part_of_noshi }}
+        {% endif %}
+
+        <!-- 名入れ -->
+        {% if gift_relation.name_part_of_noshi != blank %}
+          {{ gift_relation.name_part_of_noshi | escape }}
+        {% endif %}
+      {% endif %}
+
+      <!-- ギフト商品個数 -->
+      {{ gift_relation.gift_quantity }}
+    {% endfor %}
+  {% endfor %}
+{% endif %}
+
 <div id='orders-detail-view'>
 
   <!-- 注文番号 -->

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 order_item.product.gift? %}
+                {{ order_item.product.name }}
+              {% else %}
+                <a href="/shop/products/{{ order_item.product.master.sku }}">{{ order_item.product.name }}</a>
+              {% endif %}
+
               <!-- 商品バッジ(任意) -->

購入フォームの「ショップからのお知らせを受け取る」のチェックのデフォルト値を、会員の設定にあわせる

cart > オプトイン(部分テンプレート)

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

  <!-- 部分テンプレート(オプトインの選択) -->
  {% if shop_form_settings['optin'] %}
 
    <!-- オプトインの選択 -->
    <label>
    <input name="order[customer_attributes][optin]" type="hidden" value="0">
    <input {% if order.customer %}{% if order.customer.optin %}checked="checked"{% endif %}{% else %}{% if shop_form_settings['optin_default'] %}checked="checked"{% endif %}{% endif %} id="optin" name="order[customer_attributes][optin]" type="checkbox">
    ショップからのお知らせを受け取る。
    </label>
 
+ <!-- 購入フォームでのオプトインのデフォルト値の反映 -->
+ {% elsif customer_signed_in == true %}
+   {% if current_customer.optin == true %}
+     <input name="order[customer_attributes][optin]" type="hidden" value="1">
+   {% else %}
+     <input name="order[customer_attributes][optin]" type="hidden" value="0">
+   {% endif %}
+ {% else %}
+   {% if shop_form_settings['optin_default_order'] == true %}
+     <input name="order[customer_attributes][optin]" type="hidden" value="1">
+   {% else %}
+     <input name="order[customer_attributes][optin]" type="hidden" value="0">
+   {% endif %}
  {% endif %}

同時購入可能グループ機能対応

同時購入グループのバッジ表示名を表示する方法を、該当箇所のコメントに追記しました。
対象ファイルは以下のとおりです。

  • pages > トップページ
    • ec_force/shop/base/index.html.liquid
    • ec_force/shop/base/index.html+smartphone.liquid
  • cart > カート画面
    • ec_force/shop/carts/show.html.liquid
    • ec_force/shop/carts/show.html+smartphone.liquid
  • cart > サンクスクロスセル(部分テンプレート)
    • ec_force/shop/orders/_form_cv_xsell.html.liquid
    • ec_force/shop/orders/_form_cv_xsell.html+smartphone.liquid
  • product > 商品一覧画面
    • ec_force/shop/products/index.html.liquid
    • ec_force/shop/products/index.html+smartphone.liquid
  • product > 商品詳細画面
    • ec_force/shop/products/show.html.liquid
    • ec_force/shop/products/show.html+smartphone.liquid
  • product > キーワード検索結果商品一覧画面
    • ec_force/shop/searches/show.html.liquid
    • ec_force/shop/searches/show.html+smartphone.liquid
  • product > 商品カテゴリー詳細画面
    • ec_force/shop/product_categories/show.html.liquid
    • ec_force/shop/product_categories/show.html+smartphone.liquid
  • selection > セレクション画面
    • ec_force/shop/selections/show.html.liquid
    • ec_force/shop/selections/show.html+smartphone.liquid
  • sale_ranking > ランキング画面
    • ec_force/shop/sale_rankings/show.html.liquid
    • ec_force/shop/sale_rankings/show.html+smartphone.liquid
  • mypage > 定期注文詳細画面 商品情報
    • ec_force/shop/customer/subs_orders/order_items/index.html.liquid
    • ec_force/shop/customer/subs_orders/order_items/index.html+smartphone.liquid
  • mypage > 定期注文詳細画面 商品の追加
    • ec_force/shop/customer/subs_orders/variants/show.html.liquid
    • ec_force/shop/customer/subs_orders/variants/show.html+smartphone.liquid
  • mypage > お気に入り一覧画面
    • ec_force/shop/customer/favorites/index.html.liquid
    • ec_force/shop/customer/favorites/index.html+smartphone.liquid
  • shared_partial > cart_modal
    • ec_force/shop/shared/_cart_modal.html.liquid
    • ec_force/shop/shared/_cart_modal.html+smartphone.liquid

今後のリリース予定機能の準備のため

mypage > 購入履歴一覧画面

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

   <!-- 支払い合計(任意) -->
   {{ order.payment_total | number_to_currency: format: '%n %u' }}
 
   {% if order.pickup_store %}
     <!-- 受取店舗情報(店舗名)(任意) -->
     {{ order.pickup_store.name }}
 
     <!-- 受取店舗情報(フリガナ)(任意) -->
     {{ order.pickup_store.kana }}
 
     <!-- 受取店舗情報(郵便番号)(任意) -->
     {{ order.pickup_store.full_zip }}
 
     <!-- 受取店舗情報(住所)(任意) -->
     {{ order.pickup_store.full_address }}
 
     <!-- 受取店舗情報(電話番号)(任意) -->
     {{ order.pickup_store.full_tel }}
 
     <!-- 受取店舗情報(FAX番号)(任意) -->
     {{ order.pickup_store.full_fax }}
 
     <!-- 受取店舗情報(営業時間)(任意) -->
     {{ order.pickup_store.business_hours }}
 
     <!-- 受取店舗情報(営業時間)(任意) -->
     {{ order.pickup_store.business_hours }}
 
+  {% elsif order.smaregi_order? %}
+    <!-- スマレジ購入店舗(任意) -->
+    {{ order.smaregi_order.store_name }}
+
   {% else %}
     <!-- お届け先情報(お名前)(任意) -->
     {{ order.shipping_address.full_name }}

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

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

   <!-- 決済状況 -->
   {{ order.payment.human_state_name }}
 
-  {% unless order.pickup_store %}
+  {% if order.pickup_store == false and order.smaregi_order? == false %}
     <!-- 配送業者(任意) -->
     {{ order.shipping_carrier.name }}
 
     <!-- 配送伝票番号(任意) -->
     {% if order.tracking_url == blank %}
       {{ order.shipping_slip }}
     {% else %}
       <a href="{{order.tracking_url}}" target="_blank">{{ order.shipping_slip }}</a>
     {% endif %}
 
     <!-- 予約販売(任意) -->
     {% if enabled_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.shipped_at | date: "%Y/%m/%d %H:%M:%S" }}
 
       <!-- 配送予定日(任意) -->
       {{ order.scheduled_to_be_delivered_at | date: "%Y/%m/%d %H:%M:%S" }}
     {% endif %}
     <!-- お届け時間(任意) -->
     {% if order.scheduled_delivery_time == blank %}
       指定なし
     {% else %}
       {{ order.scheduled_delivery_time }}
     {% endif %}
-  {% endunless %}
+
+  {% elsif order.smaregi_order? == true %}
+    <!-- スマレジ購入店舗(任意) -->
+    {{ order.smaregi_order.store_name }}
+  {% endif %}
 
   <!-- 予約販売(任意) -->
   {% if enabled_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 %}
   {% if order.pickup_store %}
     <!-- 受取店舗情報(店舗名)(任意) -->
     {{ order.pickup_store.name }}
 
     <!-- 受取店舗情報(フリガナ)(任意) -->
     {{ order.pickup_store.kana }}
 
     <!-- 受取店舗情報(郵便番号)(任意) -->
     {{ order.pickup_store.full_zip }}
 
     <!-- 受取店舗情報(住所)(任意) -->
     {{ order.pickup_store.full_address }}
 
     <!-- 受取店舗情報(電話番号)(任意) -->
     {{ order.pickup_store.full_tel }}
 
     <!-- 受取店舗情報(FAX番号)(任意) -->
     {{ order.pickup_store.full_fax }}
 
     <!-- 受取店舗情報(営業時間)(任意) -->
     {{ order.pickup_store.business_hours }}
 
-  {% else %}
+  {% elsif order.smaregi_order? == false %}
     <!-- お届け先情報(お名前)(任意) -->
     {{ order.shipping_address.full_name }}
     <!-- 戻るリンク -->
     <a href="/shop/customer/orders">戻る</a>
-    {% if base_info.order_receipt_display_flg? %}
+    {% if base_info.order_receipt_display_flg? and order.smaregi_order? == false %}
       <!-- 領収書発行ボタン -->
       <button class="btn btn-sm btn-warning pull-right receipt-issue" value="{{ order.number }}">領収書発行</button>
     {% endif %}

mypage > 購入履歴詳細タブ(部分テンプレート)

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

 <a {% unless template == 'shop/customer/orders' %}href="/shop/customer/orders/{{ order.number }}"{% endunless %}>基本情報</a>
 {% if order.pickup_store %}
   <a {% unless template == 'shop/customer/orders/pickup_store' %}href="/shop/customer/orders/{{ order.number }}/pickup_store"{% endunless %}>受取店舗</a>
-{% else %}
+{% elsif order.smaregi_order? == false %}
   <a {% unless template == 'shop/customer/orders/shipping_address' %}href="/shop/customer/orders/{{ order.number }}/shipping_address"{% endunless %}>お届け先住所</a>
 {% endif %}

mypage > スマレジ会員バーコード画面

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

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

shared_partial > sidebar

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

     <!-- パスワード変更へのリンク -->
     <a href="/shop/customer/password/edit">パスワード</a>
 
+    {% if smaregi_enabled %}
+      <!-- スマレジ会員バーコード表示へのリンク -->
+      <a href="/shop/customer/smaregi">スマレジ会員バーコード表示</a>
+    {% endif %}
+
     <!-- ログアウト -->
     <a href="/shop/customers/sign_out">ログアウト</a>