テーマ仕様書
shop
購入画面
複数のお届け先入力★

複数のお届け先入力フォーム(部分テンプレート)

注文情報入力画面で利用する各入力フォーム用部分テンプレートです。
注文情報入力画面で include して利用します。(注文情報入力画面以外では利用できません)

テーマ管理のファイルパス

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

必要なコンポーネント

任意とあるもの以外はシステム上必要なコンポーネントとなりますので、必ず使用するようにしてください。

<!-- 部分テンプレート(複数のお届け先の入力フォームデータ及びフォームテンプレート) -->
{% if multiple_shipping_is_available %}
 
  <!-- 複数のお届け先フォームデータ -->
  <div id="multiple-shipping-raw-form">
    {% for shipping_address in order.shipping_addresses_without_deleted %}
      <!-- お届け先ごとのフォームデータ枠(必須タグ) -->
      <div data-shipping-address-id="{{ shipping_address.id }}" data-form-index="{{ forloop.index0 }}">
 
        {% assign index = forloop.index0 %}
 
        <button class="delete_shipping_address" type="button">削除</button>
 
        <!-- お届け先住所の選択 -->
        <label>お届け先住所</label>
        <select class="shipping_addresses_id" name="order[shipping_addresses_attributes][{{ index }}][shipping_address_id]">
          <option value="same" {% if selected_shipping_addresses_value[index] == blank or selected_shipping_addresses_value[index] == 'same' %}selected{% endif %}>請求先住所と同じ</option>
          {% if customer_signed_in %}
            {% for sa in current_customer.shipping_addresses %}
              <option value="{{ sa.id }}" {% if selected_shipping_addresses_value[index] == sa.id %}selected{% endif %}>
                {{ sa.full_name }} | 〒{{ sa.full_zip }} {{ sa.full_address }}
              </option>
            {% endfor %}
          {% endif %}
          <option value="new" {% if selected_shipping_addresses_value[index] == 'new' %}selected{% endif %}>新しく入力する</option>
        </select>
 
        <div id="shipping_address_input_{{ index }}">
 
          <!-- お名前 -->
          <label>お名前</label>
          {% if shop_form_settings['name_1_field'] %}
            <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_name01" name="order[shipping_addresses_attributes][{{ index }}][name01]" placeholder="例)山田 花子" value="{{ shipping_address.full_name }}">
          {% else %}
            <span>姓</span>
            <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_name01" name="order[shipping_addresses_attributes][{{ index }}][name01]" placeholder="例)山田" value="{{ shipping_address.name01 }}">
            <span>名</span>
            <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_name02" name="order[shipping_addresses_attributes][{{ index }}][name02]" placeholder="例)花子" value="{{ shipping_address.name02 }}">
          {% endif %}
 
          <!-- フリガナ -->
          <label>フリガナ</label>
          {% if shop_form_settings['kana_1_field'] %}
            <input type="text" class="validate[required,custom[katakana]]" id="order_shipping_addresses_{{index}}_attributes_kana01" name="order[shipping_addresses_attributes][{{ index }}][kana01]" placeholder="例)ヤマダ ハナコ" value="{{ shipping_address.full_kana }}">
          {% else %}
            <span>セイ</span>
            <input type="text" class="validate[required,custom[katakana]]" id="order_shipping_addresses_{{index}}_attributes_kana01" name="order[shipping_addresses_attributes][{{ index }}][kana01]" placeholder="例)ヤマダ" value="{{ shipping_address.kana01 }}">
            <span>メイ</span>
            <input type="text" class="validate[required,custom[katakana]]" id="order_shipping_addresses_{{index}}_attributes_kana02" name="order[shipping_addresses_attributes][{{ index }}][kana02]" placeholder="例)ハナコ" value="{{ shipping_address.kana02 }}">
          {% endif %}
 
          <!-- 郵便番号 -->
          <label>郵便番号</label>
          {% if shop_form_settings['zip_1_field'] %}
            <span>〒</span>
            <input type="tel" class="shipping_addresses_zip01 validate[required,custom[integer],minSize[7]]" id="order_shipping_addresses_{{index}}_attributes_zip01" maxlength="7" name="order[shipping_addresses_attributes][{{ index }}][zip01]" placeholder="1500031" value="{{ shipping_address.full_zip }}">
          {% else %}
            <span>〒</span>
            <input type="tel" class="shipping_addresses_zip01 validate[required,custom[integer],minSize[3]]" id="order_shipping_addresses_{{index}}_attributes_zip01" maxlength="3" name="order[shipping_addresses_attributes][{{ index }}][zip01]" placeholder="150" value="{{ shipping_address.zip01 }}">
            <span>−</span>
            <input type="tel" class="shipping_addresses_zip02 validate[required,custom[integer],minSize[4]]" id="order_shipping_addresses_{{index}}_attributes_zip02" maxlength="4" name="order[shipping_addresses_attributes][{{ index }}][zip02]" placeholder="0031" value="{{ shipping_address.zip02 }}">
          {% endif %}
 
          <!-- 都道府県 -->
          <label>都道府県</label>
          <select class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_prefecture_name" name="order[shipping_addresses_attributes][{{ index }}][prefecture_id]">
            <option value="">選択してください</option>
            {% for prefecture in prefectures %}
              <option value="{{ prefecture.id }}" {% if shipping_address.prefecture_id == prefecture.id %}selected{% endif %}>{{ prefecture.name }}</option>
            {% endfor %}
          </select>
 
          <!-- 住所1 -->
          <label>{{ shop_form_settings['addr01_label'] }}</label>
          <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_addr01" name="order[shipping_addresses_attributes][{{ index }}][addr01]" placeholder="{{ shop_form_settings['addr01_placeholder'] }}" value="{{ shipping_address.addr01 }}">
 
          <!-- 住所2 -->
          <label>{{ shop_form_settings['addr02_label'] }}</label>
          {% if shop_form_settings['addr03'] %}
            <input type="text" class="{% if shop_form_settings['addr02_require'] %}validate[required]{% endif %}" id="order_shipping_addresses_{{index}}_attributes_addr02" name="order[shipping_addresses_attributes][{{ index }}][addr02]" value="{{ shipping_address.addr02 }}" placeholder="{{ shop_form_settings['addr02_placeholder'] }}">
          {% else %}
            <input type="text" class="{% if shop_form_settings['addr02_require'] %}validate[required]{% endif %}" id="order_shipping_addresses_{{index}}_attributes_addr02" name="order[shipping_addresses_attributes][{{ index }}][addr02]"
            value="{{ shipping_address.addr02 }}{{ shipping_address.addr03 }}" placeholder="{{ shop_form_settings['addr02_placeholder'] | append: shop_form_settings['addr03_placeholder'] }}">
          {% endif %}
 
          <!-- 住所3 -->
          {% if shop_form_settings['addr03'] %}
            <label>{{ shop_form_settings['addr03_label'] }}</label>
            <input type="text" id="order_shipping_addresses_{{index}}_attributes_addr03" name="order[shipping_addresses_attributes][{{ index }}][addr03]" placeholder="{{ shop_form_settings['addr03_placeholder'] }}" value="{{ shipping_address.addr03 }}">
          {% endif %}
 
          <!-- 電話番号 -->
          <label>電話番号</label>
          {% if shop_form_settings['tel_1_field'] %}
            <input type="tel" class="validate[required,custom[integer]]" maxlength="12" name="order[shipping_addresses_attributes][{{ index }}][tel01]" value="{{ shipping_address.full_tel }}">
          {% else %}
            <input type="tel" class="validate[required,custom[integer]]" maxlength="5" name="order[shipping_addresses_attributes][{{ index }}][tel01]" value="{{ shipping_address.tel01 }}">
            <span>-</span>
            <input type="tel" class="validate[required,custom[integer]]" maxlength="4" name="order[shipping_addresses_attributes][{{ index }}][tel02]" value="{{ shipping_address.tel02 }}">
            <span>-</span>
            <input type="tel" class="validate[required,custom[integer]]" maxlength="4" name="order[shipping_addresses_attributes][{{ index }}][tel03]" value="{{ shipping_address.tel03 }}">
          {% endif %}
 
          <!-- お届け先登録-->
          <label for="order_shipping_addresses_{{ index }}_attributes_persist_as_customer_shipping_address">
            <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][persist_as_customer_shipping_address]" value="0">
            <input type="checkbox" id="order_shipping_addresses_{{ index }}_attributes_persist_as_customer_shipping_address" name="order[shipping_addresses_attributes][{{ index }}][persist_as_customer_shipping_address]" value="1" {% if shipping_address.persist_as_customer_shipping_address == true %}checked{% endif %}>お届け先登録する
          </label>
        </div>
 
        <!-- お届け先商品情報 -->
        {% assign gift_sets = order.multiple_address_gift_relations_grouped %}
        {% if order.gift_sets_for_view_by_index[index] %}
          {% assign gift_sets = order.gift_sets_for_view_by_index[index] %}
        {% endif %}
        {% assign gift_target_order_item_ids = gift_sets | map: 'order_item_id' | uniq %}
        <!-- ギフト対象商品ごとのギフト合計数量を計算 -->
        {% assign gift_total_by_order_item = "" %}
        {% for order_item_id in gift_target_order_item_ids %}
          {% assign gift_total = 0 %}
          {% for gs in gift_sets %}
            {% if gs.order_item_id == order_item_id %}
              {% assign gift_total = gift_total | plus: gs.gift_quantity %}
            {% endif %}
          {% endfor %}
          {% capture gift_total_by_order_item %}{{ gift_total_by_order_item }}{{ order_item_id }}:{{ gift_total }};{% endcapture %}
        {% endfor %}
        {% assign gift_relation_idx = 0 %}
        <table class="product-gift-set-table" data-index="{{ index }}">
          <tbody>
          {% for order_item in order_items_without_bundled_and_gift %}
            {% assign order_items_info = "" %}
            {% for oiil in shipping_address.order_items_info_list %}
              {% if oiil.order_item.id == order_item.id %}
                {% assign order_items_info = oiil %}
              {% endif %}
            {% endfor %}
            {% assign is_gift_target = false %}
            {% for gid in gift_target_order_item_ids %}
              {% if gid == order_item.id %}
                {% assign is_gift_target = true %}
              {% endif %}
            {% endfor %}
            <!-- ギフト対象商品の場合 -->
            {% if is_gift_target %}
              {% assign gift_total = 0 %}
              {% for gs in gift_sets %}
                {% if gs.order_item_id == order_item.id %}
                  {% assign gift_total = gift_total | plus: gs.gift_quantity %}
                {% endif %}
              {% endfor %}
              {% assign no_gift_max = order_item.quantity | minus: gift_total %}
              <!-- このお届け先へのギフト付き数量を計算 -->
              {% assign gift_quantity_for_address = 0 %}
              {% if shipping_address.gift_relations %}
                {% for gr in shipping_address.gift_relations %}
                  {% if gr.order_item_id == order_item.id %}
                    {% assign gift_quantity_for_address = gift_quantity_for_address | plus: gr.gift_quantity %}
                  {% endif %}
                {% endfor %}
              {% endif %}
              {% assign total_quantity_for_address = order_items_info.quantity | default: 0 %}
              {% assign no_gift_quantity_tmp = total_quantity_for_address | minus: gift_quantity_for_address %}
              {% if no_gift_quantity_tmp < 0 %}
                {% assign no_gift_quantity = 0 %}
              {% else %}
                {% assign no_gift_quantity = no_gift_quantity_tmp %}
              {% endif %}
              <!-- 「ギフトなし」行(ギフト数 < 商品数の場合のみ表示) -->
              {% if no_gift_max > 0 %}
                <tr class="order-item-row no-gift-row" data-order-item-id="{{ order_item.id }}" data-gift-total="{{ gift_total }}" data-no-gift-max="{{ no_gift_max }}">
                  <th>
                    <label>{{ order_item.variant.name_with_option_values_presentation }}(ギフトなし)</label>
                  </th>
                  <td class="order_items_info">
                    <input type="hidden" class="order_items_info__order_item_id" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][order_item_id]" value="{{ order_item.id }}">
                    <select class="order_items_info__no_gift_quantity" data-order-item-id="{{ order_item.id }}" data-no-gift-max="{{ no_gift_max }}">
                      {% for i in (0..no_gift_max) %}
                        <option value="{{ i }}" {% if no_gift_quantity == i %}selected{% endif %}>{{ i }} 個</option>
                      {% endfor %}
                    </select>
                    <input type="hidden" class="order_items_info__quantity_hidden" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][quantity]" value="{{ total_quantity_for_address }}" data-order-item-id="{{ order_item.id }}">
                  </td>
                </tr>
              {% else %}
                <!-- ギフトなしの数量が0の場合(すべてギフト付き)、hidden inputのみ送信 -->
                <tr class="order-item-row" data-order-item-id="{{ order_item.id }}" style="display:none;">
                  <th>
                    <label>{{ order_item.variant.name_with_option_values_presentation }}</label>
                  </th>
                  <td class="order_items_info">
                    <input type="hidden" class="order_items_info__order_item_id" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][order_item_id]" value="{{ order_item.id }}">
                    <input type="hidden" class="order_items_info__quantity_hidden" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][quantity]" value="{{ total_quantity_for_address }}" data-order-item-id="{{ order_item.id }}">
                  </td>
                </tr>
              {% endif %}
              <!-- 「商品+ギフト」行(同じテーブル内に表示) -->
              {% for gift_set in gift_sets %}
                {% if gift_set.order_item_id == order_item.id %}
                  {% assign max_selectable = gift_set.gift_quantity | default: gift_set.gift_order_item.quantity %}
                  {% if gift_set.max_gift_quantity %}
                    {% assign max_selectable = gift_set.max_gift_quantity %}
                  {% endif %}
                  <!-- このお届け先に設定されたギフト数量を取得 -->
                  {% assign selected_gift_qty = 0 %}
                  {% if shipping_address.gift_relations %}
                    {% for gr in shipping_address.gift_relations %}
                      {% assign name_match = false %}
                      {% if gr.name_part_of_noshi == blank and gift_set.name_part_of_noshi == blank %}
                        {% assign name_match = true %}
                      {% elsif gr.name_part_of_noshi == gift_set.name_part_of_noshi %}
                        {% assign name_match = true %}
                      {% endif %}
                      {% assign desc_match = false %}
                      {% if gr.description_part_of_noshi == blank and gift_set.description_part_of_noshi == blank %}
                        {% assign desc_match = true %}
                      {% elsif gr.description_part_of_noshi == gift_set.description_part_of_noshi %}
                        {% assign desc_match = true %}
                      {% endif %}
                      {% if gr.order_item_id == gift_set.order_item_id and gr.gift_order_item_id == gift_set.gift_order_item_id and name_match and desc_match %}
                        {% assign selected_gift_qty = gr.gift_quantity %}
                      {% endif %}
                    {% endfor %}
                  {% endif %}
                  <tr class="product-gift-set-row" data-order-item-id="{{ gift_set.order_item_id }}" data-gift-order-item-id="{{ gift_set.gift_order_item_id }}" data-name-part-of-noshi="{{ gift_set.name_part_of_noshi }}" data-description-part-of-noshi="{{ gift_set.description_part_of_noshi }}">
                    <th>
                      {{ gift_set.order_item.variant.name_with_option_values_presentation }}
                      <br>
                      {{ gift_set.gift_order_item.variant.name_with_option_values_presentation }}
                      {% if gift_set.description_part_of_noshi != blank %}
                        <br>
                        表書き:{{ gift_set.description_part_of_noshi }}
                      {% endif %}
                      {% if gift_set.name_part_of_noshi != blank %}
                        <br>
                        名入れ:{{ gift_set.name_part_of_noshi }}
                      {% endif %}
                    </th>
                    <td>
                      <select class="gift-relation-quantity" data-order-item-id="{{ gift_set.order_item_id }}" data-max-quantity="{{ max_selectable }}">
                        {% for i in (0..max_selectable) %}
                          <option value="{{ i }}" {% if i == selected_gift_qty %}selected{% endif %}>{{ i }} 個</option>
                        {% endfor %}
                      </select>
                      <input type="hidden" class="gift-relation-quantity-hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][quantity]" value="{{ selected_gift_qty }}">
                      <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][order_item_id]" value="{{ gift_set.order_item_id }}">
                      <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][gift_order_item_id]" value="{{ gift_set.gift_order_item_id }}">
                      <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][name_part_of_noshi]" value="{{ gift_set.name_part_of_noshi }}">
                      {% if gift_set.description_part_of_noshi != blank %}
                        <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][description_part_of_noshi]" value="{{ gift_set.description_part_of_noshi }}">
                      {% endif %}
                    </td>
                  </tr>
                  {% assign gift_relation_idx = gift_relation_idx | plus: 1 %}
                {% endif %}
              {% endfor %}
            {% else %}
              <!-- 通常商品(ギフト対象外) -->
              <tr class="order-item-row" data-order-item-id="{{ order_item.id }}">
                <th>
                  <label>{{ order_item.variant.name_with_option_values_presentation }}</label>
                </th>
                <td class="order_items_info">
                  <input type="hidden" class="order_items_info__order_item_id" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][order_item_id]" value="{{ order_item.id }}">
                  <select class="order_items_info__quantity" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][quantity]">
                    {% for i in (0..order_item.quantity) %}
                      <option value="{{ i }}" {% if order_items_info.quantity == i %}selected{% endif %}>{{ i }}</option>
                    {% endfor %}
                  </select>
                </td>
              </tr>
            {% endif %}
          {% endfor %}
          </tbody>
        </table>
 
        <!-- 配送業者情報 -->
        <div style="{% unless display_shipping_carrier_view_flag %}display: none;{% endunless %}">
          <div class="shipping_carrier_contents">
 
            <!-- 配送業者の選択-->
            <label>配送業者</label>
            <select class="shipping_carrier_id" name="order[shipping_addresses_attributes][{{ index }}]['delivery_info_attributes'][shipping_carrier_id]">
              {% if shipping_address.shipping_carrier_id %}
                <option value="{{ shipping_address.shipping_carrier_id }}" selected>{{ shipping_address.shipping_carrier.name }}</option>
              {% endif %}
            </select>
            <div class="shipping_carrier_description"></div>
 
          </div>
        </div>
      </div>
    {% endfor %}
  </div>
 
  <!-- 複数のお届け先入力フォームテンプレート -->
  <div id="multiple-shipping-template-form" style="display: none;">
    {% assign index = '#{index}' %}
    {% assign shipping_address = shipping_address_instance %}
 
    <button class="delete_shipping_address" type="button">削除</button>
 
    <!-- お届け先住所の選択 -->
    <label>お届け先住所</label>
    <select class="shipping_addresses_id" name="order[shipping_addresses_attributes][{{ index }}][shipping_address_id]">
      <option value="same" {% if selected_shipping_addresses_value[index] == blank or selected_shipping_addresses_value[index] == 'same' %}selected{% endif %}>請求先住所と同じ</option>
      {% if customer_signed_in %}
        {% for sa in current_customer.shipping_addresses %}
          <option value="{{ sa.id }}" {% if selected_shipping_addresses_value[index] == sa.id %}selected{% endif %}>
            {{ sa.full_name }} | 〒{{ sa.full_zip }} {{ sa.full_address }}
          </option>
        {% endfor %}
      {% endif %}
      <option value="new" {% if selected_shipping_addresses_value[index] == 'new' %}selected{% endif %}>新しく入力する</option>
    </select>
 
    <div id="shipping_address_input_{{ index }}">
 
      <!-- お名前 -->
      <label>お名前</label>
      {% if shop_form_settings['name_1_field'] %}
        <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_name01" name="order[shipping_addresses_attributes][{{ index }}][name01]" placeholder="例)山田 花子" value="{{ shipping_address.full_name }}">
      {% else %}
        <span>姓</span>
        <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_name01" name="order[shipping_addresses_attributes][{{ index }}][name01]" placeholder="例)山田" value="{{ shipping_address.name01 }}">
        <span>名</span>
        <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_name02" name="order[shipping_addresses_attributes][{{ index }}][name02]" placeholder="例)花子" value="{{ shipping_address.name02 }}">
      {% endif %}
 
      <!-- フリガナ -->
      <label>フリガナ</label>
      {% if shop_form_settings['kana_1_field'] %}
        <input type="text" class="validate[required,custom[katakana]]" id="order_shipping_addresses_{{index}}_attributes_kana01" name="order[shipping_addresses_attributes][{{ index }}][kana01]" placeholder="例)ヤマダ ハナコ" value="{{ shipping_address.full_kana }}">
      {% else %}
        <span>セイ</span>
        <input type="text" class="validate[required,custom[katakana]]" id="order_shipping_addresses_{{index}}_attributes_kana01" name="order[shipping_addresses_attributes][{{ index }}][kana01]" placeholder="例)ヤマダ" value="{{ shipping_address.kana01 }}">
        <span>メイ</span>
        <input type="text" class="validate[required,custom[katakana]]" id="order_shipping_addresses_{{index}}_attributes_kana02" name="order[shipping_addresses_attributes][{{ index }}][kana02]" placeholder="例)ハナコ" value="{{ shipping_address.kana02 }}">
      {% endif %}
 
      <!-- 郵便番号 -->
      <label>郵便番号</label>
      {% if shop_form_settings['zip_1_field'] %}
        <span>〒</span>
        <input type="tel" class="shipping_addresses_zip01 validate[required,custom[integer],minSize[7]]" id="order_shipping_addresses_{{index}}_attributes_zip01" maxlength="7" name="order[shipping_addresses_attributes][{{ index }}][zip01]" placeholder="1500031" value="{{ shipping_address.full_zip }}">
      {% else %}
        <span>〒</span>
        <input type="tel" class="shipping_addresses_zip01 validate[required,custom[integer],minSize[3]]" id="order_shipping_addresses_{{index}}_attributes_zip01" maxlength="3" name="order[shipping_addresses_attributes][{{ index }}][zip01]" placeholder="150" value="{{ shipping_address.zip01 }}">
        <span>−</span>
        <input type="tel" class="shipping_addresses_zip02 validate[required,custom[integer],minSize[4]]" id="order_shipping_addresses_{{index}}_attributes_zip02" maxlength="4" name="order[shipping_addresses_attributes][{{ index }}][zip02]" placeholder="0031" value="{{ shipping_address.zip02 }}">
      {% endif %}
 
      <!-- 都道府県 -->
      <label>都道府県</label>
      <select class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_prefecture_name" name="order[shipping_addresses_attributes][{{ index }}][prefecture_id]">
        <option value="">選択してください</option>
        {% for prefecture in prefectures %}
          <option value="{{ prefecture.id }}" {% if shipping_address.prefecture_id == prefecture.id %}selected{% endif %}>{{ prefecture.name }}</option>
        {% endfor %}
      </select>
 
      <!-- 住所1 -->
      <label>{{ shop_form_settings['addr01_label'] }}</label>
      <input type="text" class="validate[required]" id="order_shipping_addresses_{{index}}_attributes_addr01" name="order[shipping_addresses_attributes][{{ index }}][addr01]" placeholder="{{ shop_form_settings['addr01_placeholder'] }}" value="{{ shipping_address.addr01 }}">
 
      <!-- 住所2 -->
      <label>{{ shop_form_settings['addr02_label'] }}</label>
      {% if shop_form_settings['addr03'] %}
        <input type="text" class="{% if shop_form_settings['addr02_require'] %}validate[required]{% endif %}" id="order_shipping_addresses_{{index}}_attributes_addr02" name="order[shipping_addresses_attributes][{{ index }}][addr02]" value="{{ shipping_address.addr02 }}" placeholder="{{ shop_form_settings['addr02_placeholder'] }}">
      {% else %}
        <input type="text" class="{% if shop_form_settings['addr02_require'] %}validate[required]{% endif %}" id="order_shipping_addresses_{{index}}_attributes_addr02" name="order[shipping_addresses_attributes][{{ index }}][addr02]"
        value="{{ shipping_address.addr02 }}{{ shipping_address.addr03 }}" placeholder="{{ shop_form_settings['addr02_placeholder'] | append: shop_form_settings['addr03_placeholder'] }}">
      {% endif %}
 
      <!-- 住所3 -->
      {% if shop_form_settings['addr03'] %}
        <label>{{ shop_form_settings['addr03_label'] }}</label>
        <input type="text" id="order_shipping_addresses_{{index}}_attributes_addr03" name="order[shipping_addresses_attributes][{{ index }}][addr03]" placeholder="{{ shop_form_settings['addr03_placeholder'] }}" value="{{ shipping_address.addr03 }}">
      {% endif %}
 
      <!-- 電話番号 -->
      <label>電話番号</label>
      {% if shop_form_settings['tel_1_field'] %}
        <input type="tel" class="validate[required,custom[integer]]" maxlength="12" name="order[shipping_addresses_attributes][{{ index }}][tel01]" value="{{ shipping_address.full_tel }}">
      {% else %}
        <input type="tel" class="validate[required,custom[integer]]" maxlength="5" name="order[shipping_addresses_attributes][{{ index }}][tel01]" value="{{ shipping_address.tel01 }}">
        <span>-</span>
        <input type="tel" class="validate[required,custom[integer]]" maxlength="4" name="order[shipping_addresses_attributes][{{ index }}][tel02]" value="{{ shipping_address.tel02 }}">
        <span>-</span>
        <input type="tel" class="validate[required,custom[integer]]" maxlength="4" name="order[shipping_addresses_attributes][{{ index }}][tel03]" value="{{ shipping_address.tel03 }}">
      {% endif %}
 
      <!-- お届け先登録-->
      <label for="order_shipping_addresses_{{ index }}_attributes_persist_as_customer_shipping_address">
        <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][persist_as_customer_shipping_address]" value="0">
        <input type="checkbox" id="order_shipping_addresses_{{ index }}_attributes_persist_as_customer_shipping_address" name="order[shipping_addresses_attributes][{{ index }}][persist_as_customer_shipping_address]" value="1" {% if shipping_address.persist_as_customer_shipping_address == true %}checked{% endif %}>お届け先登録する
      </label>
    </div>
 
    <!-- お届け先商品情報 -->
    {% assign gift_sets = order.multiple_address_gift_relations_grouped %}
    {% if order.gift_sets_for_view_by_index[index] %}
      {% assign gift_sets = order.gift_sets_for_view_by_index[index] %}
    {% endif %}
    {% assign gift_target_order_item_ids = gift_sets | map: 'order_item_id' | uniq %}
    <!-- ギフト対象商品ごとのギフト合計数量を計算 -->
    {% assign gift_total_by_order_item = "" %}
    {% for order_item_id in gift_target_order_item_ids %}
      {% assign gift_total = 0 %}
      {% for gs in gift_sets %}
        {% if gs.order_item_id == order_item_id %}
          {% assign gift_total = gift_total | plus: gs.gift_quantity %}
        {% endif %}
      {% endfor %}
      {% capture gift_total_by_order_item %}{{ gift_total_by_order_item }}{{ order_item_id }}:{{ gift_total }};{% endcapture %}
    {% endfor %}
    {% assign gift_relation_idx = 0 %}
    <table class="product-gift-set-table" data-index="{{ index }}">
      <tbody>
      {% for order_item in order_items_without_bundled_and_gift %}
        {% assign order_items_info = "" %}
        {% for oiil in shipping_address.order_items_info_list %}
          {% if oiil.order_item.id == order_item.id %}
            {% assign order_items_info = oiil %}
          {% endif %}
        {% endfor %}
        {% assign is_gift_target = false %}
        {% for gid in gift_target_order_item_ids %}
          {% if gid == order_item.id %}
            {% assign is_gift_target = true %}
          {% endif %}
        {% endfor %}
        <!-- ギフト対象商品の場合 -->
        {% if is_gift_target %}
          {% assign gift_total = 0 %}
          {% for gs in gift_sets %}
            {% if gs.order_item_id == order_item.id %}
              {% assign gift_total = gift_total | plus: gs.gift_quantity %}
            {% endif %}
          {% endfor %}
          {% assign no_gift_max = order_item.quantity | minus: gift_total %}
          <!-- このお届け先へのギフト付き数量を計算 -->
          {% assign gift_quantity_for_address = 0 %}
          {% if shipping_address.gift_relations %}
            {% for gr in shipping_address.gift_relations %}
              {% if gr.order_item_id == order_item.id %}
                {% assign gift_quantity_for_address = gift_quantity_for_address | plus: gr.gift_quantity %}
              {% endif %}
            {% endfor %}
          {% endif %}
          {% assign total_quantity_for_address = order_items_info.quantity | default: 0 %}
          {% assign no_gift_quantity_tmp = total_quantity_for_address | minus: gift_quantity_for_address %}
          {% if no_gift_quantity_tmp < 0 %}
            {% assign no_gift_quantity = 0 %}
          {% else %}
            {% assign no_gift_quantity = no_gift_quantity_tmp %}
          {% endif %}
          <!-- 「ギフトなし」行(ギフト数 < 商品数の場合のみ表示) -->
          {% if no_gift_max > 0 %}
            <tr class="order-item-row no-gift-row" data-order-item-id="{{ order_item.id }}" data-gift-total="{{ gift_total }}" data-no-gift-max="{{ no_gift_max }}">
              <th>
                <label>{{ order_item.variant.name_with_option_values_presentation }}(ギフトなし)</label>
              </th>
              <td class="order_items_info">
                <input type="hidden" class="order_items_info__order_item_id" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][order_item_id]" value="{{ order_item.id }}">
                <select class="order_items_info__no_gift_quantity" data-order-item-id="{{ order_item.id }}" data-no-gift-max="{{ no_gift_max }}">
                  {% for i in (0..no_gift_max) %}
                    <option value="{{ i }}" {% if no_gift_quantity == i %}selected{% endif %}>{{ i }} 個</option>
                  {% endfor %}
                </select>
                <input type="hidden" class="order_items_info__quantity_hidden" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][quantity]" value="{{ total_quantity_for_address }}" data-order-item-id="{{ order_item.id }}">
              </td>
            </tr>
          {% else %}
            <!--ギフトなしの数量が0の場合(すべてギフト付き)、hidden inputのみ送信 -->
            <tr class="order-item-row" data-order-item-id="{{ order_item.id }}" style="display:none;">
              <th>
                <label>{{ order_item.variant.name_with_option_values_presentation }}</label>
              </th>
              <td class="order_items_info">
                <input type="hidden" class="order_items_info__order_item_id" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][order_item_id]" value="{{ order_item.id }}">
                <input type="hidden" class="order_items_info__quantity_hidden" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][quantity]" value="{{ total_quantity_for_address }}" data-order-item-id="{{ order_item.id }}">
              </td>
            </tr>
          {% endif %}
          <!-- 「商品+ギフト」行(同じテーブル内に表示) -->
          {% for gift_set in gift_sets %}
            {% if gift_set.order_item_id == order_item.id %}
              {% assign max_selectable = gift_set.gift_quantity | default: gift_set.gift_order_item.quantity %}
              {% if gift_set.max_gift_quantity %}
                {% assign max_selectable = gift_set.max_gift_quantity %}
              {% endif %}
              <!-- このお届け先に設定されたギフト数量を取得 -->
              {% assign selected_gift_qty = 0 %}
              {% if shipping_address.gift_relations %}
                {% for gr in shipping_address.gift_relations %}
                  {% assign name_match = false %}
                  {% if gr.name_part_of_noshi == blank and gift_set.name_part_of_noshi == blank %}
                    {% assign name_match = true %}
                  {% elsif gr.name_part_of_noshi == gift_set.name_part_of_noshi %}
                    {% assign name_match = true %}
                  {% endif %}
                  {% assign desc_match = false %}
                  {% if gr.description_part_of_noshi == blank and gift_set.description_part_of_noshi == blank %}
                    {% assign desc_match = true %}
                  {% elsif gr.description_part_of_noshi == gift_set.description_part_of_noshi %}
                    {% assign desc_match = true %}
                  {% endif %}
                  {% if gr.order_item_id == gift_set.order_item_id and gr.gift_order_item_id == gift_set.gift_order_item_id and name_match and desc_match %}
                    {% assign selected_gift_qty = gr.gift_quantity %}
                  {% endif %}
                {% endfor %}
              {% endif %}
              <tr class="product-gift-set-row" data-order-item-id="{{ gift_set.order_item_id }}" data-gift-order-item-id="{{ gift_set.gift_order_item_id }}" data-name-part-of-noshi="{{ gift_set.name_part_of_noshi }}" data-description-part-of-noshi="{{ gift_set.description_part_of_noshi }}">
                <th>
                  {{ gift_set.order_item.variant.name_with_option_values_presentation }}
                  <br>
                  {{ gift_set.gift_order_item.variant.name_with_option_values_presentation }}
                  {% if gift_set.description_part_of_noshi != blank %}
                    <br>
                    表書き:{{ gift_set.description_part_of_noshi }}
                  {% endif %}
                  {% if gift_set.name_part_of_noshi != blank %}
                    <br>
                    名入れ:{{ gift_set.name_part_of_noshi }}
                  {% endif %}
                </th>
                <td>
                  <select class="gift-relation-quantity" data-order-item-id="{{ gift_set.order_item_id }}" data-max-quantity="{{ max_selectable }}">
                    {% for i in (0..max_selectable) %}
                      <option value="{{ i }}" {% if i == selected_gift_qty %}selected{% endif %}>{{ i }} 個</option>
                    {% endfor %}
                  </select>
                  <input type="hidden" class="gift-relation-quantity-hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][quantity]" value="{{ selected_gift_qty }}">
                  <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][order_item_id]" value="{{ gift_set.order_item_id }}">
                  <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][gift_order_item_id]" value="{{ gift_set.gift_order_item_id }}">
                  <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][name_part_of_noshi]" value="{{ gift_set.name_part_of_noshi }}">
                  {% if gift_set.description_part_of_noshi != blank %}
                    <input type="hidden" name="order[shipping_addresses_attributes][{{ index }}][gift_relations_attributes][{{ gift_relation_idx }}][description_part_of_noshi]" value="{{ gift_set.description_part_of_noshi }}">
                  {% endif %}
                </td>
              </tr>
              {% assign gift_relation_idx = gift_relation_idx | plus: 1 %}
            {% endif %}
          {% endfor %}
        {% else %}
          <!-- 通常商品(ギフト対象外) -->
          <tr class="order-item-row" data-order-item-id="{{ order_item.id }}">
            <th>
              <label>{{ order_item.variant.name_with_option_values_presentation }}</label>
            </th>
            <td class="order_items_info">
              <input type="hidden" class="order_items_info__order_item_id" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][order_item_id]" value="{{ order_item.id }}">
              <select class="order_items_info__quantity" name="order[shipping_addresses_attributes][{{ index }}][order_items_info_list_attributes][{{ forloop.index0 }}][quantity]">
                {% for i in (0..order_item.quantity) %}
                  <option value="{{ i }}" {% if order_items_info.quantity == i %}selected{% endif %}>{{ i }}</option>
                {% endfor %}
              </select>
            </td>
          </tr>
        {% endif %}
      {% endfor %}
      </tbody>
    </table>
 
    <!-- 配送業者情報 -->
    <div style="{% unless display_shipping_carrier_view_flag %}display: none;{% endunless %}">
      <div class="shipping_carrier_contents">
 
        <!-- 配送業者の選択-->
        <label>配送業者</label>
        <select class="shipping_carrier_id" name="order[shipping_addresses_attributes][{{ index }}]['delivery_info_attributes'][shipping_carrier_id]">
          {% if shipping_address.shipping_carrier_id %}
            <option value="{{ shipping_address.shipping_carrier_id }}" selected>{{ shipping_address.shipping_carrier.name }}</option>
          {% endif %}
        </select>
        <div class="shipping_carrier_description"></div>
 
      </div>
    </div>
 
  </div>
{% endif %}