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.         {% for ProductOption in Product.ProductOptions %}
  12.             {% set value = 'productoption' ~ ProductOption.Option.id %}
  13.             {% if ProductOption.Option.id >= 2 and ProductOption.Option.id <= 6 %}
  14.                 <div class="noshi_area_{{ Product.id }} noshi_area">
  15.             {% endif %}
  16.             {# ラジオボタン #}
  17.             {% if ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::RADIO_TYPE') %}
  18.                 <div class="ec-blockRadio" style="margin-top: 10px;">
  19.                     <div class="option_Label">
  20.                         <label for="productoption{{ ProductOption.Option.id }}">{{ form[value].vars.label }}</label>{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  21.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  22.                         &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>
  23.                         {% endif %}
  24.                     </div>
  25.                     {{ form_widget(form[value]) }}
  26.                 </div>
  27.             {# チェックボックス #}
  28.             {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::CHECKBOX_TYPE')%}
  29.                 <div class="ec-checkbox" style="margin-top: 10px;">
  30.                     <div class="option_Label">
  31.                         <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 %}
  32.                         {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  33.                         &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>
  34.                         {% endif %}
  35.                     </div>
  36.                     {{ form_widget(form[value]) }}
  37.                 </div>
  38.             {# プルダウンタイプ #}
  39.             {% elseif  ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::SELECT_TYPE')%}
  40.                 <div class="ec-select" style="margin-top: 10px;">
  41.                     <div class="option_Label">
  42.                         {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  43.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  44.                         &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>
  45.                     {% endif %}
  46.                     </div>
  47.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  48.                         {{ form_widget(form[value]) }}
  49.                     {{ form_errors(form[value]) }}
  50.                     </div>
  51.                 </div>
  52.             {# 数値入力タイプ #}
  53.             {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::NUMBER_TYPE') %}
  54.                 <div class="ec-numberInput" style="margin-top: 10px;">
  55.                     <div class="option_Label">
  56.                     {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  57.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  58.                         &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>
  59.                     {% endif %}
  60.                     </div>
  61.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  62.                         {{ form_widget(form[value]) }}
  63.                     {{ form_errors(form[value]) }}
  64.                     </div>
  65.                 </div>
  66.             {# 日付タイプ #}
  67.             {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::DATE_TYPE') %}
  68.                 <div class="ec-input" style="margin-top: 10px;">
  69.                     <div class="option_Label">
  70.                     {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  71.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  72.                         &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>
  73.                     {% endif %}
  74.                     </div>
  75.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %} style="position: relative">
  76.                         {{ form_widget(form[value], { attr : { 'data-target' : '#'~form[value].vars.id }}) }}
  77.                     {{ form_errors(form[value]) }}
  78.                     </div>
  79.                 </div>
  80.             {# テキストボックスタイプ #}
  81.             {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::TEXT_TYPE') %}
  82.                 <div class="ec-input" style="margin-top: 10px;">
  83.                     <div class="option_Label">
  84.                     {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  85.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  86.                         &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>
  87.                     {% endif %}
  88.                     </div>
  89.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  90.                         {{ form_widget(form[value]) }}
  91.                     {{ form_errors(form[value]) }}
  92.                     </div>
  93.                 </div>
  94.             {# テキストエリアタイプ #}
  95.             {% elseif ProductOption.Option.type == constant('Plugin\\ProductOption42\\Entity\\Option::TEXTAREA_TYPE')%}
  96.                 <div class="ec-input" style="margin-top: 10px;">
  97.                     <div class="option_Label">
  98.                         {{ form_label(form[value]) }}{% if form[value].vars.required %}<span class="ec-required">{{'common.required'|trans}}</span>{% endif %}
  99.                     {% if ProductOption.Option.description_flg == constant('Plugin\\ProductOption42\\Entity\\Option::DISP_ON') %}
  100.                         &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>
  101.                     {% endif %}
  102.                     </div>
  103.                     <div {% if form[value].vars.errors is not empty %}class="has-error"{% endif %}>
  104.                         {{ form_widget(form[value]) }}
  105.                     {{ form_errors(form[value]) }}
  106.                     </div>
  107.                 </div>
  108.             {% endif %}
  109.             {% if ProductOption.Option.id >= 2 and ProductOption.Option.id <= 6 %}
  110.                 </div>
  111.             {% endif %}
  112.         {% endfor %}
  113. {% endif %}
  114. {#▼RZ 2023.06.21 ADD のしの必要がない場合は入力欄を非表示に▼#}
  115. {% block javascript %}
  116.     <script>
  117.         const option_name_noshi = 'productoption1';
  118.         const option_name_bag = 'productoption7';
  119.         $(function() {
  120.             //のしの設定
  121.             $('[name=productoption1]').change(function() {
  122.                 var product_id = '';
  123.                 var option_id = $(this).attr('id');
  124.                 //一覧表示の場合は商品ID以外を'_'に置換
  125.                 if ($('body').attr('id') == 'page_product_list') {
  126.                     product_id = option_id.replace(option_name_noshi, '_');
  127.                 }
  128.                 if ($('#'+option_id).prop('selectedIndex') != 1) {
  129.                     $('.noshi_area'+product_id).css('display', 'none');
  130.                 } else {
  131.                     $('.noshi_area'+product_id).css('display', 'block');
  132.                 }
  133.             });
  134.         });
  135.     </script>
  136. {#}▲RZ 2023.06.21 ADD のしの必要がない場合は入力欄を非表示に▲#}
  137. {% endblock %}