app/template/default/Product/option.twig line 1

Open in your IDE?
  1. {#
  2. * Plugin Name : ProductOption
  3. *
  4. * Copyright (C) BraTech Co., Ltd. All Rights Reserved.
  5. * http://www.bratech.co.jp/
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. #}
  10. {% if Product.ProductOptions %}
  11.     {% set prev_condition = '' %}
  12.     {% set count = 0 %}
  13.     {% set index = 0 %}
  14.     {% set lastIndex = Product.ProductOptions|length - 1 %}
  15.     {% for ProductOption in Product.ProductOptions %}
  16.         {% set value = 'productoption' ~ ProductOption.Option.id %}
  17.         {% set current_condition = '' %}
  18.         {% if '張地' in ProductOption.Option.backend_name %}
  19.             {% set current_condition = '張地' %}
  20.         {% elseif 'サイズ選択' in ProductOption.Option.backend_name %}
  21.             {% set current_condition = 'サイズ' %}
  22.         {% elseif '画像あり' in ProductOption.Option.backend_name %}
  23.             {% set current_condition = '画像あり' %}
  24.         {% elseif '配送' in ProductOption.Option.backend_name %}
  25.             {% set current_condition = '配送' %}
  26.         {% endif %}
  27.         {% if prev_condition != current_condition %}
  28.             {# 最後のカウントの処理 ============================= #}
  29.             {% if prev_condition != '' %}
  30.                 {% if current_condition == '張地' or current_condition == 'サイズ' %}
  31.                 {% endif %}
  32.             {% endif %}
  33.             {# 最初のカウントの処理 ============================= #}
  34.             {% set count = 0 %}
  35.             {% if count == 0 %}
  36.                 {% if current_condition == '張地' or current_condition == 'サイズ' %}
  37.                     <div class="ec-select" style="margin-top: 10px;">
  38.                         <div class="choice_display_area__top">
  39.                             <h4>{{ current_condition }}選択</h4>
  40.                             <a href="?" id="option_description_link_{{ current_condition }}" data-btn-type="{{ current_condition }}" class="option_description_link_brn"><span class="ec-link ec-font-size-2">リストから選択</span></a>
  41.                         </div>
  42.                         {# 選択したオプション項目を表示 #}
  43.                         <div class="choice_display_area" data-type="{{ current_condition }}" data-select-result="false">
  44.                             <div class="choice_display_area__inner">
  45.                                 <img src="">
  46.                                 <div class="choice_display_area__right">
  47.                                     <h3></h3>
  48.                                     <p></p>
  49.                                 </div><!--/.choice_display_area__right-->
  50.                             </div><!--/.choice_display_area__inner-->
  51.                             <a id="option_delete_link_btn_{{ current_condition }}" data-price="" data-type="{{ current_condition }}" class="option_delete_link_btn">選択クリア</a>
  52.                         </div><!--/.choice_display_area-->
  53.                     </div>
  54.                 {% endif %}
  55.             {% endif %}
  56.         {% endif %}
  57.         {# 最初と最後以外の通常処理 ============================= #}
  58.         {# チェックボックス #}
  59.         {% if ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::CHECKBOX_TYPE')%}
  60.             <div class="option_hidden_block">
  61.                 <div class="ec-checkbox" style="margin-top: 10px;">
  62.                     <div class="option_Label">
  63.                         <label for="productoption{{ ProductOption.Option.id }}">{{ form[value].vars.label }}</label>{% if ProductOption.Option.require_min > 0 %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  64.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  65.                             &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  66.                         {% endif %}
  67.                     </div>
  68.                     {{ form_widget(form[value]) }}
  69.                 </div>
  70.             </div><!--/.option_hidden_block-->
  71.         {# プルダウンタイプ #}
  72.         {% elseif  ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::SELECT_TYPE')%}
  73.             {% if current_condition == '張地' or current_condition == 'サイズ' %}
  74.             <div class="option_hidden_block" id="option_hidden_block_{{ Product.id }}_{{ ProductOption.Option.id }}">
  75.                 <div class="option_Label">
  76.                     {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  77.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  78.                         &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  79.                     {% endif %}
  80.                 </div>
  81.                 <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %} data-select-type="{{ current_condition }}">
  82.                     {{ form_widget(form[value]) }}
  83.                     {{ form_errors(form[value]) }}
  84.                 </div>
  85.             </div><!--/.option_hidden_block-->
  86.             {% elseif current_condition == '画像あり' %}
  87.                 <div class="ec-select ec-select__flex" style="margin-top: 10px;">
  88.                     <div class="option_Label">
  89.                         {{ form_label(form[value]) }}
  90.                         {#
  91.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  92.                             &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  93.                         {% endif %}
  94.                         #}
  95.                     </div>
  96.                     <div class="option_select" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}">
  97.                         <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  98.                             {{ form_widget(form[value]) }}
  99.                             {{ form_errors(form[value]) }}
  100.                         </div>
  101.                     </div>
  102.                 </div>
  103.             {% else %}
  104.                 <div class="ec-select ec-select__flex" style="margin-top: 10px;">
  105.                     <div class="option_Label">
  106.                         {{ form_label(form[value]) }}
  107.                     </div>
  108.                     <div class="option_select">
  109.                         <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  110.                             {{ form_widget(form[value]) }}
  111.                             {{ form_errors(form[value]) }}
  112.                         </div>
  113.                     </div>
  114.                 </div>
  115.             {% endif %}
  116.         {# 数値入力タイプ #}
  117.         {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::NUMBER_TYPE') %}
  118.            <div class="option_hidden_block">
  119.                 <div class="ec-numberInput" style="margin-top: 10px;">
  120.                     <div class="option_Label">
  121.                         {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  122.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  123.                             &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  124.                         {% endif %}
  125.                     </div>
  126.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  127.                         {{ form_widget(form[value]) }}
  128.                         {{ form_errors(form[value]) }}
  129.                     </div>
  130.                 </div>
  131.            </div><!--/.option_hidden_block-->
  132.         {# 日付タイプ #}
  133.         {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::DATE_TYPE') %}
  134.             <div class="option_hidden_block">
  135.                 <div class="ec-input" style="margin-top: 10px;">
  136.                     <div class="option_Label">
  137.                         {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  138.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  139.                             &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  140.                         {% endif %}
  141.                     </div>
  142.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %} style="position: relative">
  143.                         {{ form_widget(form[value], { attr : { 'data-target' : '#'~form[value].vars.id }}) }}
  144.                         {{ form_errors(form[value]) }}
  145.                     </div>
  146.                 </div>
  147.             </div><!--/.option_hidden_block-->
  148.         {# テキストボックスタイプ #}
  149.         {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::TEXT_TYPE') %}
  150.             <div class="option_hidden_block">
  151.                 <div class="ec-input" style="margin-top: 10px;">
  152.                     <div class="option_Label">
  153.                         {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  154.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  155.                             &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  156.                         {% endif %}
  157.                     </div>
  158.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  159.                         {{ form_widget(form[value]) }}
  160.                         {{ form_errors(form[value]) }}
  161.                     </div>
  162.                 </div>
  163.             </div><!--/.option_hidden_block-->
  164.         {# テキストエリアタイプ #}
  165.         {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::TEXTAREA_TYPE')%}
  166.             <div class="option_hidden_block">
  167.                 <div class="ec-input" style="margin-top: 10px;">
  168.                     <div class="option_Label">
  169.                         {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  170.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  171.                             &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  172.                         {% endif %}
  173.                     </div>
  174.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  175.                         {{ form_widget(form[value]) }}
  176.                         {{ form_errors(form[value]) }}
  177.                     </div>
  178.                 </div>
  179.             </div><!--/.option_hidden_block-->
  180.         {# ラジオボタン == 配送方法 #}
  181.         {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::RADIO_TYPE') %}
  182.             <div class="ec-blockRadio" style="margin-top: 10px;">
  183.                 <div class="option_Label delivery_info">
  184.                     <div class="delivery_info_ttl">
  185.                         <label for="productoption{{ ProductOption.Option.id }}">{{ form[value].vars.label }}</label>
  186.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  187.                         &nbsp;<a href="?" id="option_description_link_{{ Product.id }}_{{ ProductOption.Option.id }}" data="{{ Product.id }}"><span class="ec-link ec-font-size-2">{{'productoption.product.option.description.title'|trans}}</span></a>
  188.                     {% endif %}
  189.                     </div><!--/.delivery_info_ttl-->
  190.                     <div class="delivery_info__right">
  191.                         <div class="delivery_info__right__top">
  192.                             {{ form_widget(form[value]) }}
  193.                             <a class="delivery_link" href="{{ url('homepage') }}guide#target_04">配送について</a>
  194.                         </div><!--/.delivery_info__right__top-->
  195.                         <br>
  196.                         <p class="notes_txt">開梱・設置配送の場合、商品の開梱・組立・設置をし梱包材をお持ち帰りいたします。</p>
  197.                     </div><!--/.delivery_info__right-->
  198.                 </div><!--/.delivery_info-->
  199.             </div><!--/.option_Label-->
  200.         {% endif %}
  201.         {# 最後の選択の最後のカウントの処理 ============================= #}
  202.         {% if index == lastIndex %}
  203.             {% if current_condition == '張地' or current_condition == 'サイズ' %}
  204.             {% endif %}
  205.         {% endif %}
  206.         {% set prev_condition = current_condition %}
  207.         {% set count = count + 1 %}
  208.         {% set index = index + 1 %}
  209.     {% endfor %}
  210. {% endif %}