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

Open in your IDE?
  1. {#
  2. This file is part of EC-CUBE
  3. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  4. http://www.ec-cube.co.jp/
  5. For the full copyright and license information, please view the LICENSE
  6. file that was distributed with this source code.
  7. #}
  8. {% extends 'default_frame.twig' %}
  9. {% set body_class = 'product_page' %}
  10. {% block stylesheet %}
  11. {% endblock %}
  12. {% block javascript %}
  13.     <script>
  14.         eccube.productsClassCategories = {
  15.             {% for Product in pagination %}
  16.             "{{ Product.id|escape('js') }}": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  17.             {% endfor %}
  18.         };
  19.         $(function() {
  20.             // 表示件数を変更
  21.             $('.disp-number').change(function() {
  22.                 var dispNumber = $(this).val();
  23.                 $('#disp_number').val(dispNumber);
  24.                 $('#pageno').val(1);
  25.                 $("#form1").submit();
  26.             });
  27.             // 並び順を変更
  28.             $('.order-by').change(function() {
  29.                 var orderBy = $(this).val();
  30.                 $('#orderby').val(orderBy);
  31.                 $('#pageno').val(1);
  32.                 $("#form1").submit();
  33.             });
  34.             $('.add-cart').on('click', function(e) {
  35.                 var $form = $(this).parents('li').find('form');
  36.                 // 個数フォームのチェック
  37.                 var $quantity = $form.parent().find('.quantity');
  38.                 if ($quantity.val() < 1) {
  39.                     $quantity[0].setCustomValidity('{{ 'front.product.invalid_quantity'|trans }}');
  40.                     setTimeout(function() {
  41.                         loadingOverlay('hide');
  42.                     }, 100);
  43.                     return true;
  44.                 } else {
  45.                     $quantity[0].setCustomValidity('');
  46.                 }
  47.                 e.preventDefault();
  48.                 $.ajax({
  49.                     url: $form.attr('action'),
  50.                     type: $form.attr('method'),
  51.                     data: $form.serialize(),
  52.                     dataType: 'json',
  53.                     beforeSend: function(xhr, settings) {
  54.                         // Buttonを無効にする
  55.                         $('.add-cart').prop('disabled', true);
  56.                     }
  57.                 }).done(function(data) {
  58.                     // レスポンス内のメッセージをalertで表示
  59.                     $.each(data.messages, function() {
  60.                         $('#ec-modal-header').text(this);
  61.                     });
  62.                     $('.ec-modal').show()
  63.                     // カートブロックを更新する
  64.                     $.ajax({
  65.                         url: '{{ url('block_cart') }}',
  66.                         type: 'GET',
  67.                         dataType: 'html'
  68.                     }).done(function(html) {
  69.                         $('.ec-headerRole__cart').html(html);
  70.                     });
  71.                 }).fail(function(data) {
  72.                     alert('{{ 'front.product.add_cart_error'|trans }}');
  73.                 }).always(function(data) {
  74.                     // Buttonを有効にする
  75.                     $('.add-cart').prop('disabled', false);
  76.                 });
  77.             });
  78.         });
  79.         $('.ec-modal-wrap').on('click', function(e) {
  80.             // モーダル内の処理は外側にバブリングさせない
  81.             e.stopPropagation();
  82.         });
  83.         $('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  84.             $('.ec-modal').hide()
  85.         });
  86.     </script>
  87. {% endblock %}
  88. {% block main %}
  89. <div id="out-border">
  90.     <div class="out-bg-con">
  91.         <div id="main-top55"></div>
  92.         <div id="fix-navi-top-line-box-shop"></div>
  93.         <!--上部ヘッダースライドナビ -->
  94.         <div id="main-head">
  95.     <!--ヘッダ画像部 位置調整開始 -->
  96.     <div id="main">
  97.         <div class="pan-box" style="text-align:left;"><a href="top.html" class="link-deco02">HOME</a> > list</div>
  98.     </div>
  99.     <!--ヘッダ画像部 位置調整終り -->
  100.     <!--内容はじめ -->
  101.     <!--コンテンツ -->
  102.     <div class="out-max">
  103.         <div class="con-w-box02-shop">
  104.             {{ include('Block/search_box.twig') }}
  105.             <div class="sp10"></div><div class="line01"></div><div class="sp10"></div>
  106.             <!--ヘッドテキスト開始 -->
  107.             <div class="out-max"><div align="center">
  108.                     <div class="sp30"></div>
  109.                     <!--<div class="pttl01">Angelica Ferice</div>-->
  110.                     <div class="pttl02">PRODUCT LIST</div>
  111.                     <!--<div class="pttl01"><strong>アンジェリカフェリーチェ浜松</strong></div>-->
  112.                     <div class="sp30"></div>
  113.                 </div></div>
  114.             <!--ヘッドテキストおわり -->
  115.             <div class="sp10"></div><div class="line01"></div><div class="sp10"></div>
  116.             <!-- <a href="#"class="link-deco02">全て</a> │ <a href="#"class="link-deco02">振袖</a> │ <a href="#"class="link-deco02">卒業袴</a> │ <br>
  117.             <div class="line01"></div><div class="sp10"></div>-->
  118.             <div class="form-box2"><div align="right">
  119.                     {% if pagination.totalItemCount > 0 %}
  120.                         <div class="ec-searchnavRole__actions">
  121.                             <div class="ec-select">
  122.                                 {{ form_widget(search_form.disp_number, {'id': '', 'attr': {'class': 'disp-number'}}) }}
  123.                                 {{ form_widget(search_form.orderby, {'id': '', 'attr': {'class': 'order-by'}}) }}
  124.                             </div>
  125.                         </div>
  126.                     {% endif %}
  127.                     <!--
  128.                     <select name="select">
  129.                         <option value="★">30件</option>
  130.                         <option value="★" selected="selected">50件</option>
  131.                         <option value="★">100件</option>
  132.                     </select>
  133.                     <select name="select">
  134.                         <option value="★">価格が低い順</option>
  135.                         <option value="★" selected="selected">価格が高い順</option>
  136.                         <option value="★">新着順</option>
  137.                     </select>
  138.                     -->
  139.                 </div>
  140.                 <!--
  141.                 <div class="sp10"></div>
  142.                 {% if pagination.totalItemCount > 0 %}
  143.                     {{ 'front.product.search_result__detail'|trans({ '%count%': pagination.totalItemCount })|raw }}
  144.                 {% else %}
  145.                     <span>{{ 'front.product.search__product_not_found'|trans }}</span>
  146.                 {% endif %}
  147.                 x--12件の商品が見つかりました--x
  148.                 <div class="sp10"></div>
  149. -->
  150.             </div>
  151.             {# 商品リストを表示 #}
  152.             {% if pagination.totalItemCount > 0 %}
  153.             <!--        <img src="{{ asset('assets/ange/img/top/ttl08.png') }}" width="252">-->
  154.             <div class="box-float-txt">
  155.                 <!--ボタン群-->
  156.                 <div class="out-max900">
  157.                     <div class="x4-shop">
  158.                         {% for Product in pagination %}
  159.                             {% if Product.getPrice02Min > 10000 %}
  160.                             <div class="con-box">
  161.                                 <a href="{{ url('product_detail', {'id': Product.id}) }}">
  162.                                     <img src="{{ asset(Product.main_list_image|no_image_product, 'save_image') }}" alt="{{ Product.name }}" {% if loop.index > 5 %} loading="lazy"{% endif %}>
  163.                                 </a>
  164.                                 <a href="item.html" class="link-deco02">
  165.                                     │ 
  166.                                     {% if Product.hasProductClass %}
  167.                                     {% if Product.getPrice02Min == Product.getPrice02Max %}
  168.                                         {{ Product.getPrice02IncTaxMin|price }}
  169.                                     {% else %}
  170.                                         {{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}
  171.                                     {% endif %}
  172.                                     {% else %}
  173.                                         {{ Product.getPrice02IncTaxMin|price }}
  174.                                     {% endif %}
  175.                                      │
  176.                                 </a>
  177.                                 <div class="sp20"></div>
  178.                             </div>
  179.                             {% endif %}
  180.                         {% endfor %}
  181.                         <!--
  182.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/01.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥120,000 │</a><div class="sp20"></div></div>
  183.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/02.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥150,000 │</a><div class="sp20"></div></div>
  184.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/03.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥140,000 │</a><div class="sp20"></div></div>
  185.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/04.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥130,000 │</a><div class="sp20"></div></div>
  186.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/05.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥180,000 │</a><div class="sp20"></div></div>
  187.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/06.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥120,000 │</a><div class="sp20"></div></div>
  188.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/07.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥110,000 │</a><div class="sp20"></div></div>
  189.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/08.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥140,000 │</a><div class="sp20"></div></div>
  190.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/09.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥130,000 │</a><div class="sp20"></div></div>
  191.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/10.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥140,000 │</a><div class="sp20"></div></div>
  192.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/11.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥130,000 │</a><div class="sp20"></div></div>
  193.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/12.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥120,000 │</a><div class="sp20"></div></div>
  194.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/13.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥110,000 │</a><div class="sp20"></div></div>
  195.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/14.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥140,000 │</a><div class="sp20"></div></div>
  196.                         <div class="con-box"><a href="item.html"><img src="{{ asset('assets/ange/img/item/sample02/15.jpg') }}"></a><a href="item.html" class="link-deco02">│ ¥130,000 │</a><div class="sp20"></div></div>
  197.                         -->
  198.                         <div class="ec-pagerRole">
  199.                             {% include "pager.twig" with {'pages': pagination.paginationData} %}
  200.                         </div>
  201.                     </div>
  202.                 </div>
  203.                 <!--ボタン群-->
  204.             </div>
  205.             {% endif %}
  206.         </div>
  207.     </div>
  208.     {{ include('Block/footer_navi.twig') }}
  209.     {{ include('Block/footer.twig') }}
  210. {% endblock %}