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

Open in your IDE?
  1. {% extends 'default_frame.twig' %}
  2. {% set body_class = 'product_detail_page' %}
  3. {% block stylesheet %}
  4. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/style.css') }}" media="all" />
  5. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/modal_style.css') }}" media="all" />
  6. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/script/slick.css') }}" media="all" />
  7. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/script/slick-theme.css') }}" media="all" />
  8. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/script/scroll-hint.css') }}" media="all" />
  9. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/base.css') }}" media="all" />
  10. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/next.css') }}" media="all" />
  11. <link rel="stylesheet" type="text/css" href="{{ asset('assets/css/add.css') }}" media="all" />
  12. <style>
  13.     .slick-slider {
  14.         margin-bottom: 30px;
  15.     }
  16.     .slick-dots {
  17.         position: absolute;
  18.         bottom: -45px;
  19.         display: block;
  20.         width: 100%;
  21.         padding: 0;
  22.         list-style: none;
  23.         text-align: center;
  24.     }
  25.     .slick-dots li {
  26.         position: relative;
  27.         display: inline-block;
  28.         width: 20px;
  29.         height: 20px;
  30.         margin: 0 5px;
  31.         padding: 0;
  32.         cursor: pointer;
  33.     }
  34.     .slick-dots li button {
  35.         font-size: 0;
  36.         line-height: 0;
  37.         display: block;
  38.         width: 20px;
  39.         height: 20px;
  40.         padding: 5px;
  41.         cursor: pointer;
  42.         color: transparent;
  43.         border: 0;
  44.         outline: none;
  45.         background: transparent;
  46.     }
  47.     .slick-dots li button:hover,
  48.     .slick-dots li button:focus {
  49.         outline: none;
  50.     }
  51.     .slick-dots li button:hover:before,
  52.     .slick-dots li button:focus:before {
  53.         opacity: 1;
  54.     }
  55.     .slick-dots li button:before {
  56.         content: " ";
  57.         line-height: 20px;
  58.         position: absolute;
  59.         top: 0;
  60.         left: 0;
  61.         width: 12px;
  62.         height: 12px;
  63.         text-align: center;
  64.         opacity: .25;
  65.         background-color: black;
  66.         border-radius: 50%;
  67.     }
  68.     .slick-dots li.slick-active button:before {
  69.         opacity: .75;
  70.         background-color: black;
  71.     }
  72.     .slick-dots li button.thumbnail img {
  73.         width: 0;
  74.         height: 0;
  75.     }
  76.     .heading-accessories{
  77.       color: #00848f;
  78.       font-size: 3rem;
  79.     }
  80. </style>
  81. {% endblock %}
  82. {% block javascript %}
  83. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  84. <script src="{{ asset('assets/js/jquery.easing.1.3.js') }}"></script>
  85. <script src="{{ asset('assets/js/jquery.smoothScroll.js') }}"></script>
  86. <script src="{{ asset('assets/js/jquery.magnific-popup.js') }}"></script>
  87. <script src="{{ asset('assets/js/emergence.min.js') }}"></script>
  88. <script src="{{ asset('assets/js/slick.min.js') }}"></script>
  89. <script src="{{ asset('assets/js/scroll-hint.min.js') }}"></script>
  90. <script src="{{ asset('assets/js/effects.js') }}"></script>
  91. <script>
  92.   $(function(){
  93.     slider = $('#slider').slick({
  94.       autoplay: false,
  95.       autoplaySpeed: 3000,
  96.       speed: 600,
  97.       arrows: true,
  98.       dots:false,
  99.       fade: false,
  100.       prevArrow: true,
  101.       nextArrow: true,
  102.     });
  103.     var i,index;
  104.     var nav = $(".slides-nav");
  105.     nav.find("li").eq(0).addClass('current');
  106.     nav.find("li").on("click",function(){
  107.       i = nav.find("li").index(this);
  108.       slider.slick("slickGoTo",parseInt(i));
  109.     });
  110.     slider.on("afterChange",function(event, slick, currentSlide){
  111.       index = $(slick.$slides.get(currentSlide)).attr('data-slick-index');
  112.       nav.find("li").removeClass("current");
  113.       nav.find("li").eq(index).addClass('current');
  114.     });
  115.     new ScrollHint('.js-scrollable');
  116.   });
  117. </script>
  118. {% endblock javascript %}
  119. {% block javascript2 %}
  120. <script>
  121.     eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  122.     // 規格2に選択肢を割り当てる。
  123.     function fnSetClassCategories(form, classcat_id2_selected) {
  124.         var $form = $(form);
  125.         var product_id = $form.find('input[name=product_id]').val();
  126.         var $sele1 = $form.find('select[name=classcategory_id1]');
  127.         var $sele2 = $form.find('select[name=classcategory_id2]');
  128.         eccube.setClassCategories($form, product_id, $sele1, $sele2, classcat_id2_selected);
  129.     }
  130.     {% if form.classcategory_id2 is defined %}
  131.     fnSetClassCategories(
  132.         $('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  133.     );
  134.     {% elseif form.classcategory_id1 is defined %}
  135.     eccube.checkStock($('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  136.     {% endif %}
  137. </script>
  138. <script>
  139.     $(function() {
  140.         // bfcache無効化
  141.         $(window).bind('pageshow', function(event) {
  142.             if (event.originalEvent.persisted) {
  143.                 location.reload(true);
  144.             }
  145.         });
  146.         $('.item_visual').slick({
  147.             dots: false,
  148.             arrows: false,
  149.             responsive: [{
  150.                 breakpoint: 768,
  151.                 settings: {
  152.                     dots: true
  153.                 }
  154.             }]
  155.         });
  156.         $('.slideThumb').on('click', function() {
  157.             var index = $(this).attr('data-index');
  158.             $('.item_visual').slick('slickGoTo', index, false);
  159.         })
  160.     });
  161. </script>
  162. <script>
  163.     $(function() {
  164.         $('.add-cart').on('click', function(event) {
  165.             {% if form.classcategory_id1 is defined %}
  166.             // 規格1フォームの必須チェック
  167.             if ($('#classcategory_id1').val() == '__unselected' || $('#classcategory_id1').val() == '') {
  168.                 $('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  169.                 return true;
  170.             } else {
  171.                 $('#classcategory_id1')[0].setCustomValidity('');
  172.             }
  173.             {% endif %}
  174.             {% if form.classcategory_id2 is defined %}
  175.             // 規格2フォームの必須チェック
  176.             if ($('#classcategory_id2').val() == '__unselected' || $('#classcategory_id2').val() == '') {
  177.                 $('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  178.                 return true;
  179.             } else {
  180.                 $('#classcategory_id2')[0].setCustomValidity('');
  181.             }
  182.             {% endif %}
  183.             // 個数フォームのチェック
  184.             if ($('#quantity').val() < 1) {
  185.                 $('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  186.                 return true;
  187.             } else {
  188.                 $('#quantity')[0].setCustomValidity('');
  189.             }
  190.             event.preventDefault();
  191.             $form = $('#form1');
  192.             $.ajax({
  193.                 url: $form.attr('action'),
  194.                 type: $form.attr('method'),
  195.                 data: $form.serialize(),
  196.                 dataType: 'json',
  197.                 beforeSend: function(xhr, settings) {
  198.                     // Buttonを無効にする
  199.                     $('.add-cart').prop('disabled', true);
  200.                 }
  201.             }).done(function(data) {
  202.                 // レスポンス内のメッセージをalertで表示
  203.                 $.each(data.messages, function() {
  204.                     $('#ec-modal-header').html(this);
  205.                 });
  206.                 $('.ec-modal').show()
  207.                 // カートブロックを更新する
  208.                 $.ajax({
  209.                     url: "{{ url('block_cart') }}",
  210.                     type: 'GET',
  211.                     dataType: 'html'
  212.                 }).done(function(html) {
  213.                     $('.ec-headerRole__cart').html(html);
  214.                 });
  215.             }).fail(function(data) {
  216.                 alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  217.             }).always(function(data) {
  218.                 // Buttonを有効にする
  219.                 $('.add-cart').prop('disabled', false);
  220.             });
  221.         });
  222.     });
  223.     $('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  224.         $('.ec-modal').hide()
  225.     });
  226. </script>
  227. {% endblock javascript2 %}
  228. {% block main %}
  229. <div class="breadcrumb">
  230.   <ul>
  231.     <li><a href="{{ url('homepage') }}"><img src="{{ asset('assets/img/next/icon-home.svg') }}" alt="HOME">HOME</a></li>
  232.     <li><a href="{{ url('product_list') }}">製品情報</a></li>
  233.     <li>{{ Product.name }}</li>
  234.   </ul>
  235. </div>
  236. <main class="next">
  237.   <section id="products-detail-top">
  238.     <div class="s_content add-l_eng-title">
  239.       <div class="heading-lv03">
  240.           {% if Product.ProductCategories[0].Category.class_name is defined %}
  241.               {{ Product.ProductCategories[0].Category.class_name }}
  242.           {% endif %}
  243.       </div>
  244.       <h2 class="heading-lv02">{{ Product.name }}<span>{{ Product.code_min }}</span></h2>
  245.       <div class="products-summary">
  246.         <div class="item-img">
  247.           <ul id="slider">
  248.           
  249.             {% set listImages = Product.getListImages() %}
  250.             {% for i in 0..(listImages['length']-1)%}
  251.               {% set main_image = (listImages.images_pc[i] is defined) ? listImages.images_pc[i] : null %}
  252.               {% set mobile_image = (listImages.images_mb[i] is defined) ? listImages.images_mb[i] : null %}
  253.               <li><img src="{{ asset(main_image|no_image_product, 'save_image') }}" srcset="{{ asset(main_image|no_image_product, 'save_image') }} 1x, {{ asset(mobile_image|no_image_product, 'save_image') }} 2x" width="500" height="370"></li>
  254.             {% else %}
  255.               <li><img src="{{ asset(''|no_image_product, 'save_image') }}" width="500" height="370"></li>
  256.             {% endfor %}
  257.           </ul>
  258.           <ul class="slides-nav">
  259.             {% for i in 0..(listImages['length']-1)%}
  260.               {% set main_image = (listImages.images_pc[i] is defined) ? listImages.images_pc[i] : null %}
  261.               {% set mobile_image = (listImages.images_mb[i] is defined) ? listImages.images_mb[i] : null %}
  262.               <li><img src="{{ asset(main_image|no_image_product, 'save_image') }}" srcset="{{ asset(main_image|no_image_product, 'save_image') }} 1x, {{ asset(mobile_image|no_image_product, 'save_image') }} 2x" width="115" height="80"></li>
  263.             {% else %}
  264.               <li><img src="{{ asset(''|no_image_product, 'save_image') }}" width="115" height="80"></li>
  265.             {% endfor %}
  266.           </ul>
  267.         </div>
  268.         <div class="item-text">
  269.           <div class="post">
  270.             {{ Product.description_detail|raw|nl2br }}
  271.           </div>
  272.           <div class="link-box">
  273.             <div class="item-title">オープン価格</div>
  274.             <div class="item-btn">
  275.               <p><a href="#products-detail-cart" class="btn radius sml2 sml bg w200">シリウスストアで購入</a></p>
  276.             </div>
  277.           </div>
  278.         </div>
  279.       </div>
  280.       
  281.       <div class="products-features">
  282.         <div class="heading-lv07">製品特長</div>
  283.         <div class="products-block">
  284.           {% if Product.product_url_video %}
  285.           <div class="movie">
  286.               <iframe width="560" height="315" src="{{ videoUrl }}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  287.           </div>
  288.           {% endif %}
  289.           <ul class="point-list">
  290.               {% for BlockFeatures in Product.BlockFeatures %}
  291.                 <li class="itemFreature">
  292.                   <div class="item-img">
  293.                     <img src="{{ asset(BlockFeatures.getFeatureImage()|no_image_product, 'save_features') }}" srcset="{{ asset(BlockFeatures.getFeatureImage()|no_image_product, 'save_features') }} 1x, {{ asset(BlockFeatures.getFeatureImage()|no_image_product, 'save_features') }} 2x" width="280" height="200" alt="">
  294.                   </div>
  295.                   <div class="item-text">
  296.                       {{ BlockFeatures.getFeatureName() }}
  297.                   </div>
  298.                 </li>
  299.               {% endfor %}
  300.           </ul>
  301.         </div>
  302.       </div>
  303.     </div>
  304.   </section>
  305.   <section id="products-detail-conv">
  306.     <div class="inside">
  307.       <div class="item-img"><img src="{{ asset(Product.image_pc|no_image_product, 'save_image') }}" width="243" height="180" alt="{{ Product.name }}"></div>
  308.       <div class="item-text">
  309.         <p class="title">{{ Product.name }}</p>
  310.         <div class="price-area">
  311.           <p class="price">{{ Product.getPrice02IncTaxMin|price }} <small>(税込)</small></p>
  312.           <p><a href="#products-detail-cart" class="btn radius sml2 sml bg w200">シリウスストアで購入</a></p>
  313.         </div>
  314.       </div>
  315.     </div>
  316.   </section>
  317.   <section id="products-detail-specification">
  318.     <div class="s_content add-l_eng-title">
  319.       {#<div class="heading-lv03">
  320.           {% if Product.ProductCategories[0].Category.class_name is defined %}
  321.               {{ Product.ProductCategories[0].Category.class_name }}
  322.           {% endif %}
  323.       </div>#}
  324.       <div class="specification">
  325.         <div class="heading-lv07">製品仕様</div>
  326.         <div class="img-table">
  327.           <div class="item-table">
  328.             <div class="js-scrollable">
  329.               {{ include(template_from_string(Product.freearea)) }}
  330.             </div>
  331.           </div>
  332.           <div class="item-img">
  333.             <div class="img-inside">
  334.               {% if Product.product_image_free_area %}
  335.               <p class="img"><img src="{{ asset(Product.product_image_free_area|no_image_product, 'save_logo') }}" srcset="{{ asset(Product.product_image_free_area|no_image_product, 'save_logo') }} 1x, {{ asset(Product.product_image_free_area|no_image_product, 'save_logo') }} 2x" width="280" height="150" alt="{{ Product.name }}"></p>
  336.               {% endif %}
  337.               {% if Product.product_logo or Product.product_caption %}
  338.               <p class="logo">
  339.                 {% if Product.product_logo %}
  340.                   <img src="{{ asset(Product.product_logo|no_image_product, 'save_logo') }}" 
  341.                     srcset="{{ asset(Product.product_logo|no_image_product, 'save_logo') }} 1x, {{ asset(Product.product_logo|no_image_product, 'save_logo') }} 2x" width="123" height="34" alt="{{ Product.name }}">
  342.                 {% endif %}
  343.                   <span>{{ Product.product_caption }}</span>
  344.               </p>
  345.               {% endif %}
  346.             </div>
  347.           </div>
  348.         </div>
  349.       </div>
  350.     </div>
  351.   </section>
  352.   <section id="suport-block">
  353.     <div class="heading-lv07">お客様サポート</div>
  354.     <div class="s_content bg">
  355.       <div class="btn-block">
  356.         <div>
  357.           <a href="{{ Product.product_url_qa }}" class="btn lg2 fs16 box black bg-white icon-faq fw-n">よくある質問</a>
  358.         </div>
  359.         <div>
  360.           {% if Product.product_pdf_catalog %}
  361.           <a href="{{ asset(Product.product_pdf_catalog, 'save_pdf') }}" class="btn lg2 fs16 box black bg-white icon-katarog fw-n">製品カタログ</a>
  362.           {% else %}
  363.           <a href="" class="btn lg2 fs16 box black bg-white icon-katarog fw-n">製品カタログ</a>
  364.           {% endif %}
  365.         </div>
  366.         <div>
  367.           {% if Product.product_pdf_manuals %}
  368.           <a href="{{ asset(Product.product_pdf_manuals, 'save_pdf') }}" class="btn lg2 fs16 box black bg-white icon-torisetu fw-n">取扱説明書</a>
  369.           {% else %}
  370.           <a href="" class="btn lg2 fs16 box black bg-white icon-torisetu fw-n">取扱説明書</a>
  371.           {% endif %}
  372.         </div>
  373.       </div>
  374.     </div>
  375.   </section>
  376.   <section id="products-detail-cart">
  377.     <div class="s_content add-l_eng-title">
  378.       <div class="heading-lv03">
  379.           {% if Product.ProductCategories[0].Category.class_name is defined %}
  380.               {{ Product.ProductCategories[0].Category.class_name }}
  381.           {% endif %}
  382.       </div>
  383.       <div class="img-text-column2">
  384.         <div class="item-img">
  385.             {% if Product.image_pc or Product.image_mb %}
  386.                 <img src="{{ asset('assets/img/next/product-detail/thmb01.jpg') }}" srcset="{{ asset(Product.image_pc, 'save_image') }} 1x, {{ asset(Product.image_mb, 'save_image') }} 2x" width="500" height="370">
  387.             {% else %}
  388.                 <img src="{{ asset(''|no_image_product, 'save_image') }}" width="500" height="370">
  389.             {% endif %}
  390.         </div>
  391.         <div class="item-text">
  392.           <div class="title">{{ Product.name }}<span>{{ Product.code_min }}</span></div>
  393.           <div class="price">
  394.             <div class="tax">販売価格 : <span>{{ Product.getPrice02IncTaxMin|price }}</span><small>(税込)</small></div>
  395.             <div class="no-tax">{{ Product.getPrice02Min|price }}<small>(税抜)</small></div>
  396.           </div>
  397.           <p class="mb30">高額商品をご注文いただいたお客様には、弊社より<b>お電話にて『ご本人確認』のご連絡</b>を差し上げます。<br>ご本人確認ができない場合、<b>ご注文をキャンセルとさせていただくことがございます</b>。予めご了承ください。</p>
  398.           <form action="{{ url('product_add_cart', {id:Product.id}) }}" method="post" id="form1" name="form1">
  399.             {% if Product.stock_find %}
  400.               <div class="number">
  401.                 <div class="txt">数量</div>
  402.                 {{ form_widget(form.quantity) }}
  403.                 {{ form_errors(form.quantity) }}
  404.               </div>
  405.               
  406.               {% if form.classcategory_id1 is defined %}
  407.                 <div class="kikaku-box">
  408.                   <div class="title">
  409.                     規格
  410.                   </div>
  411.                   <div class="ec-select">
  412.                       {{ form_widget(form.classcategory_id1) }}
  413.                       {{ form_errors(form.classcategory_id1) }}
  414.                   </div>
  415.                 </div>
  416.                 {% if form.classcategory_id2 is defined %}
  417.                   <div class="kikaku-box">
  418.                     <div class="title">
  419.                       規格
  420.                     </div>
  421.                     <div class="ec-select">
  422.                         {{ form_widget(form.classcategory_id2) }}
  423.                         {{ form_errors(form.classcategory_id2) }}
  424.                     </div>
  425.                   </div>
  426.                 {% endif %}
  427.               {% endif %}
  428.               
  429.               <div class="cart-btn">
  430.                 <div>
  431.                   <button type="submit" class="ec-blockBtn--action add-cart">
  432.                     {{ 'カートに入れる'|trans }}
  433.                   </button>
  434.                 </div>
  435.                 <span>※ギフト包装は承っておりません。</span>
  436.               </div>
  437.             {% else %}
  438.               <div class="ec-productRole__btn">
  439.                 <button type="button" class="ec-blockBtn--action" disabled="disabled">
  440.                   {{ 'ただいま品切れ中です。'|trans }}
  441.                 </button>
  442.               </div>
  443.             {% endif %}
  444.             {{ form_rest(form) }}
  445.           </form>
  446.         </div>
  447.       </div>
  448.     </div>
  449.   </section>
  450.   <section class="ec-grid2">
  451.     <div class="s_content ec-grid2__cell">
  452.         <div class="ec-productRole__profile">
  453.             <div class="ec-modal">
  454.                 <div class="ec-modal-overlay">
  455.                     <div class="ec-modal-wrap">
  456.                         <span class="ec-modal-close"><span class="ec-icon"><img src="{{ asset('assets/icon/cross-dark.svg') }}" alt=""/></span></span>
  457.                         <div id="ec-modal-header" class="text-center">{{ 'カートに追加しました。'|trans }}</div>
  458.                         <div class="ec-modal-box">
  459.                             <div class="ec-role">
  460.                                 <span class="ec-inlineBtn--cancel">{{ 'お買い物を続ける'|trans }}</span>
  461.                                 <a href="{{ url('cart') }}" class="ec-inlineBtn--action">{{ 'カートへ進む'|trans }}</a>
  462.                             </div>
  463.                         </div>
  464.                     </div>
  465.                 </div>
  466.             </div>
  467.         </div>
  468.     </div>
  469.   </section>
  470.   {# プラグイン用Snippet #}
  471.   {% if Product.RelatedProducts[0] is defined %}
  472.     <section>
  473.       <div class="accessories">
  474.         <div class="s_content">
  475.           <h2 class="heading-lv04">Accessories<span>関連商品</span></h2>
  476.             <ul class="accessories-list">
  477.               {% for RelatedProduct in Product.RelatedProducts %}
  478.                   {% set ChildProduct = RelatedProduct.ChildProduct %}
  479.                   {% set productImages = RelatedProduct.ChildProduct.getListImages() %}
  480.                     {% set main_image = (productImages.images_pc[0] is defined) ? productImages.images_pc[0] : null %}
  481.                     {% set mobile_image = (productImages.images_mb[0] is defined) ? productImages.images_mb[0] : null %}
  482.                   {% if ChildProduct.Status.id == constant("Eccube\\Entity\\Master\\ProductStatus::DISPLAY_SHOW") %}
  483.                     <li>
  484.                       <div>
  485.                         <div class="item-img">
  486.                           <a href="{{ url('product_detail', {id : ChildProduct.id}) }}">
  487.                               <img src="{{ asset(main_image|no_image_product, 'save_image') }}" srcset="{{ asset(main_image|no_image_product, 'save_image') }} 1x,{{ asset(mobile_image|no_image_product, 'save_image') }} 2x" width="176" height="176" alt="{{ RelatedProduct.ChildProduct.name }}">
  488.                           </a>
  489.                         </div>
  490.                         <div class="item-text">
  491.                           <p class="number">{{ RelatedProduct.ChildProduct.code_min }}</p>
  492.                           <p class="name">{{ RelatedProduct.ChildProduct.name }}</p>
  493.                           <div class="price">希望小売価格:
  494.                             {% if RelatedProduct.ChildProduct.hasProductClass %}
  495.                                 {% if RelatedProduct.ChildProduct.getPrice02Min == RelatedProduct.ChildProduct.getPrice02Max %}
  496.                                     {{ RelatedProduct.ChildProduct.getPrice02IncTaxMin|price }}
  497.                                 {% else %}
  498.                                     {{ RelatedProduct.ChildProduct.getPrice02IncTaxMin|price }} ~ {{ RelatedProduct.ChildProduct.getPrice02IncTaxMax|price }}
  499.                                 {% endif %}
  500.                             {% else %}
  501.                                 {{ RelatedProduct.ChildProduct.getPrice02IncTaxMin|price }}
  502.                             {% endif %}
  503.                             <small>(税込)</small>
  504.                           </div>
  505.                         </div>
  506.                         {#<span>{{ RelatedProduct.content|raw }}</span>#}
  507.                         <div class="item-btn">
  508.                           <p><a href="{{ url('product_detail', {id : ChildProduct.id}) }}" class="btn radius sml2 sml bg">
  509.                             シリウスストアで購入
  510.                           </a></p>
  511.                         </div>
  512.                       </div>
  513.                     </li>
  514.                   {% endif %}
  515.               {% endfor %}
  516.             </ul>
  517.             {#{{ include('snippet.twig', { snippets: plugin_snippets }) }}#}
  518.         </div>
  519.       </div>
  520.     </section>
  521.   {% endif %}
  522.   
  523.   {{ include("Block/conv.twig") }}
  524. </section>
  525. </main>
  526. {% endblock %}