var/cache/dev/twig/47/472e0a73e96d3171ad26ef563de1bc2a.php line 40

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Product/list.twig */
  14. class __TwigTemplate_41dcba1d96abfaa7492507bd52e59991 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 11
  31.         return "default_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  38.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  40.         // line 216
  41.         $context["body_class"] = "product_page";
  42.         // line 11
  43.         $this->parent $this->loadTemplate("default_frame.twig""Product/list.twig"11);
  44.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  47.         
  48.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  49.     }
  50.     // line 13
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 14
  59.         echo "    ";
  60.         // line 15
  61.         echo "    ";
  62.         // line 16
  63.         echo "    <link rel=\"stylesheet\" href=\"";
  64.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/css/page/_product_list.css""user_data"), "html"nulltrue);
  65.         echo "\">
  66. <style>
  67.     .ec-topicpath{
  68.         display: flex;
  69.         margin: 30px 10% 0;
  70.     }
  71.     .ec-topicpath a{
  72.         color: #09860D;
  73.     }
  74.     .ec-topicpath__divider{
  75.         margin: 0 5px;
  76.     }
  77.     
  78.         .category-btn{
  79.             justify-content: center;
  80.         }
  81.         .category-btn img{
  82.             margin-right: 15px;
  83.         }
  84.         .tab {
  85.             margin: 30px 10% 0;
  86.         }
  87.         
  88.         @media screen and (max-width:768px){
  89.             .tab img{
  90.                 width: 15%;
  91.             }
  92.             .category-btn{
  93.                 margin-bottom: 15px;
  94.             }
  95.         }
  96.         .tab-list {
  97.             display: flex;
  98.             gap: 1px;
  99.         }
  100.         @media screen and (max-width:768px){
  101.             .tab-list{
  102.                 flex-direction: column;
  103.             }
  104.         }
  105.         .tab-item {
  106.             border-radius: 5px 5px 0 0;
  107.             background-color: #09860D;
  108.             border-top: solid 1px #09860D;
  109.             border-right: solid 1px #09860D;
  110.             border-left: solid 1px #09860D;
  111.         }
  112.         .tab-item a{
  113.             color: #FFF;
  114.             padding: 0.5em 1.2em;
  115.             display: block;
  116.         }
  117.         .tab-content:has(.tab-panel.active){
  118.             display: flex;
  119.             justify-content: space-between;
  120.             border-top:solid 1px #09860D;
  121.             border-right:solid 1px #09860D;
  122.             border-left:solid 1px #09860D;
  123.             border-radius: 0 8px 0 0;
  124.         }
  125.         
  126.         .tab-content:not(:has(.tab-panel.active)){
  127.             display: none;
  128.         }
  129.         
  130.         @media screen and (max-width:768px){
  131.             .tab-content{
  132.                 flex-direction: column;
  133.                 border-radius: 0;
  134.             }
  135.         }
  136.         .tab-panel {
  137.             display: none;
  138.         }
  139.         .tab-item.active {
  140.             background-color: #fff;
  141.             font-weight: bold;
  142.             position: relative;
  143.         }
  144.         
  145.         .tab-item.active a{
  146.             color: #09860D;
  147.         }
  148.         
  149.         .tab-item.active::before{
  150.             content: \"\";
  151.             width: 100%;
  152.             border-bottom: 1px solid  #FFF;
  153.             position: absolute;
  154.             bottom: -1px;
  155.             left: 0;
  156.         }
  157.         .tab-panel.active {
  158.             display: flex;
  159.             padding: 3%;
  160.             flex-wrap: wrap;
  161.             gap:20px 20px;
  162.             flex: 10;
  163.         }
  164.         @media screen and (max-width:768px){
  165.             .tab-panel.active{
  166.                 justify-content: center;
  167.                 
  168.             }
  169.         }
  170.         .tab-panel.active h2 {
  171.             font-size: 20px;
  172.             font-weight: bold;
  173.         }
  174.         
  175.         .search-form-box{
  176.             border: solid 1px #09860D;
  177.             border-radius: 0 0 8px 8px;
  178.         }
  179.         
  180.         .tab-content:not(:has(.active)) + .search-form-box{
  181.             border-radius: 0 8px 8px 8px;
  182.         }
  183.         .search-form-box .search-form-content{
  184.             display: flex;
  185.             justify-content: space-between;
  186.         }
  187.         @media screen and (max-width:768px){
  188.             .search-form-box .search-form-content{
  189.                 flex-direction: column;
  190.                 
  191.             }
  192.         }
  193.         .search-form-box .search-form-item{
  194.             padding: 3%;
  195.         }
  196.         @media screen and (max-width:768px){
  197.             .search-form-box .search-form-item{
  198.                 margin: 0 auto;
  199.                 
  200.             }
  201.         }
  202.         
  203.         .search-form-box .search-form-input{
  204.             -webkit-appearance: none;
  205.             -moz-appearance:none;
  206.             appearance: none;
  207.             border:1px solid #09860d;
  208.             border-radius:25px;
  209.             width: 30vw;
  210.             padding-left: 20px;
  211.             height: 36px;
  212.             background-color: #f5f5f5;
  213.         }
  214.         @media screen and (max-width:768px){
  215.             .search-form-box .search-form-input{
  216.                 width: 50vw;
  217.                 box-sizing: border-box;
  218.             }
  219.             .search-form-box .search-form-input::placeholder{
  220.                 font-size: 2vw;
  221.             }
  222.         }
  223.         
  224.         select{
  225.             background:none;
  226.             appearance: none;
  227.             font:inherit;
  228.             padding:9.5px 10px;
  229.             border:1px solid #09860d;
  230.             box-sizing: border-box;
  231.             width: 250px;
  232.             border-radius:2px;
  233.         }
  234.         
  235.         .select {
  236.           display: inline-block;
  237.           position: relative;
  238.           vertical-align: middle;
  239.         }
  240.         
  241.         .select::before {
  242.           position: absolute;
  243.           top: 18px;
  244.           right: 16px;
  245.           width: 0;
  246.           height: 0;
  247.           border-width: 10px 5px 0 5px;
  248.           border-style: solid;
  249.           border-color: #09860d transparent transparent transparent;
  250.           content: \"\";
  251.           pointer-events: none;
  252.         }
  253.     </style>
  254. ";
  255.         
  256.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  257.         
  258.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  259.     }
  260.     // line 218
  261.     public function block_javascript($context, array $blocks = [])
  262.     {
  263.         $macros $this->macros;
  264.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  265.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  266.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  267.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  268.         // line 219
  269.         echo "    <script>
  270.         eccube.productsClassCategories = {
  271.             ";
  272.         // line 221
  273.         $context['_parent'] = $context;
  274.         $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'221$this->source); })()));
  275.         $context['loop'] = [
  276.           'parent' => $context['_parent'],
  277.           'index0' => 0,
  278.           'index'  => 1,
  279.           'first'  => true,
  280.         ];
  281.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  282.             $length count($context['_seq']);
  283.             $context['loop']['revindex0'] = $length 1;
  284.             $context['loop']['revindex'] = $length;
  285.             $context['loop']['length'] = $length;
  286.             $context['loop']['last'] = === $length;
  287.         }
  288.         foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  289.             // line 222
  290.             echo "            \"";
  291.             echo twig_escape_filter($this->envtwig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse222), "js"), "html"nulltrue);
  292.             echo "\": ";
  293.             echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($context["Product"]);
  294.             if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse222) == false)) {
  295.                 echo ", ";
  296.             }
  297.             // line 223
  298.             echo "            ";
  299.             ++$context['loop']['index0'];
  300.             ++$context['loop']['index'];
  301.             $context['loop']['first'] = false;
  302.             if (isset($context['loop']['length'])) {
  303.                 --$context['loop']['revindex0'];
  304.                 --$context['loop']['revindex'];
  305.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  306.             }
  307.         }
  308.         $_parent $context['_parent'];
  309.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  310.         $context array_intersect_key($context$_parent) + $_parent;
  311.         // line 224
  312.         echo "        };
  313.         \$(function() {
  314.             // 表示件数を変更
  315.             \$('.disp-number').change(function() {
  316.                 var dispNumber = \$(this).val();
  317.                 \$('#disp_number').val(dispNumber);
  318.                 \$('#pageno').val(1);
  319.                 \$(\"#form1\").submit();
  320.             });
  321.             // // 並び順を変更
  322.             \$('.order-by').change(function() {
  323.                 var orderBy = \$(this).val();
  324.                 \$('#orderby').val(orderBy);
  325.                 \$('#pageno').val(1);
  326.                 \$(\"#form1\").submit();
  327.             });
  328.             \$('.add-cart').on('click', function(e) {
  329.                 var \$form = \$(this).parents('li').find('form');
  330.                 // 個数フォームのチェック
  331.                 var \$quantity = \$form.parent().find('.quantity');
  332.                 if (\$quantity.val() < 1) {
  333.                     \$quantity[0].setCustomValidity('";
  334.         // line 250
  335.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  336.         echo "');
  337.                     setTimeout(function() {
  338.                         loadingOverlay('hide');
  339.                     }, 100);
  340.                     return true;
  341.                 } else {
  342.                     \$quantity[0].setCustomValidity('');
  343.                 }
  344.                 e.preventDefault();
  345.                 \$.ajax({
  346.                     url: \$form.attr('action'),
  347.                     type: \$form.attr('method'),
  348.                     data: \$form.serialize(),
  349.                     dataType: 'json',
  350.                     beforeSend: function(xhr, settings) {
  351.                         // Buttonを無効にする
  352.                         \$('.add-cart').prop('disabled', true);
  353.                     }
  354.                 }).done(function(data) {
  355.                     // レスポンス内のメッセージをalertで表示
  356.                     \$.each(data.messages, function() {
  357.                         \$('#ec-modal-header').html(this);
  358.                     });
  359.                     \$('.ec-modal').show()
  360.                     // カートブロックを更新する
  361.                     \$.ajax({
  362.                         url: '";
  363.         // line 278
  364.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  365.         echo "',
  366.                         type: 'GET',
  367.                         dataType: 'html'
  368.                     }).done(function(html) {
  369.                         \$('.ec-headerRole__cart').html(html);
  370.                     });
  371.                 }).fail(function(data) {
  372.                     alert('";
  373.         // line 285
  374.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  375.         echo "');
  376.                 }).always(function(data) {
  377.                     // Buttonを有効にする
  378.                     \$('.add-cart').prop('disabled', false);
  379.                 });
  380.             });
  381.         });
  382.         \$('.ec-modal-wrap').on('click', function(e) {
  383.             // モーダル内の処理は外側にバブリングさせない
  384.             e.stopPropagation();
  385.         });
  386.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  387.             \$('.ec-modal').hide()
  388.         });
  389.         
  390.     </script>
  391.     <script>
  392.     //  絞り込み検索は、絞り込み検索ボタンが押されたとき、もしくは入力欄にフォーカスされたときに、
  393.     //  enterを押したときのみ発動する。カテゴリ検索を押したときは発火させない
  394.         document.addEventListener('DOMContentLoaded', function () {
  395.             const form = document.querySelector('.tab');
  396.             const categoryBtn = form.querySelector('button[name=\"search_parent_id\"]:not(.word-search)');
  397.             const wordBtn = form.querySelector('.category-btn.word-search');
  398.             const wordInput = form.querySelector('input.search-form-input');
  399.         
  400.             // カテゴリ検索 → name を送らせない
  401.             categoryBtn.addEventListener('click', function () {
  402.                 if (wordInput) {
  403.                     wordInput.disabled = true;
  404.                 }
  405.             });
  406.         
  407.             // 絞り込み検索 → name を有効化
  408.             wordBtn?.addEventListener('click', function () {
  409.                 if (wordInput) {
  410.                     wordInput.disabled = false;
  411.                 }
  412.             });
  413.         
  414.             // Enterキーで submit 時に絞り込み検索の値を送信するための hidden input 挿入
  415.             form.addEventListener('submit', function (e) {
  416.                 if (document.activeElement === wordInput) {
  417.                     e.preventDefault();
  418.         
  419.                     // 既に存在していたら除去(2重防止)
  420.                     const existingHidden = form.querySelector('input[name=\"search_parent_id\"].auto-injected');
  421.                     if (existingHidden) {
  422.                         existingHidden.remove();
  423.                     }
  424.         
  425.                     // ボタンのvalue属性をそのまま使う
  426.                     const valueFromButton = wordBtn?.getAttribute('value') || '';
  427.         
  428.                     const hidden = document.createElement('input');
  429.                     hidden.type = 'hidden';
  430.                     hidden.name = 'search_parent_id';
  431.                     hidden.value = valueFromButton;
  432.                     hidden.classList.add('auto-injected');
  433.                     form.appendChild(hidden);
  434.                     if (wordInput) {
  435.                         wordInput.disabled = false;
  436.                     }
  437.                     form.submit();
  438.                 }
  439.             });
  440.         });
  441.         
  442.         // カテゴリの詳細検索に値が入っていない場合、buttonのnameの値をcategory_idに変更する
  443.         document.addEventListener('DOMContentLoaded', function () {
  444.             const form = document.querySelector('.tab');
  445.             const submitBtn = form.querySelector('button.category-btn');
  446.             const categorySelects = form.querySelectorAll('select[name=\"category_ids[]\"]');
  447.         
  448.             form.addEventListener('submit', function (e) {
  449.                 // category_ids[] に選択されている値が1つもない場合、ボタンのnameを変更
  450.                 const hasValue = Array.from(categorySelects).some(select => select.value && select.value !== '');
  451.         
  452.                 if (!hasValue) {
  453.                     submitBtn.setAttribute('name', 'category_id');
  454.                 } else {
  455.                     submitBtn.setAttribute('name', 'search_parent_id');
  456.                 }
  457.             });
  458.         });
  459.     </script>
  460. ";
  461.         
  462.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  463.         
  464.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  465.     }
  466.     // line 373
  467.     public function block_main($context, array $blocks = [])
  468.     {
  469.         $macros $this->macros;
  470.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  471.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  472.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  473.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  474.         // line 374
  475.         echo "    ";
  476.         $context["AllCategories"] = twig_get_attribute($this->env$this->source$this->env->getFunction('repository')->getCallable()("Eccube\\Entity\\Category"), "getList", [], "method"falsefalsefalse374);
  477.         // line 375
  478.         echo "    ";
  479.         $context["Categories"] = twig_array_filter($this->env, (isset($context["AllCategories"]) || array_key_exists("AllCategories"$context) ? $context["AllCategories"] : (function () { throw new RuntimeError('Variable "AllCategories" does not exist.'375$this->source); })()), function ($__c__) use ($context$macros) { $context["c"] = $__c__; return ( !(null === twig_get_attribute($this->env$this->source, (isset($context["c"]) || array_key_exists("c"$context) ? $context["c"] : (function () { throw new RuntimeError('Variable "c" does not exist.'375$this->source); })()), "id", [], "any"falsefalsefalse375)) && (twig_get_attribute($this->env$this->source, (isset($context["c"]) || array_key_exists("c"$context) ? $context["c"] : (function () { throw new RuntimeError('Variable "c" does not exist.'375$this->source); })()), "id", [], "any"falsefalsefalse375) == 1)); });
  480.         // line 376
  481.         echo "    ";
  482.         $context["selected_categories"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'376$this->source); })()), "request", [], "any"falsefalsefalse376), "query", [], "any"falsefalsefalse376), "get", [=> "category_ids"=> []], "method"falsefalsefalse376);
  483.         // line 377
  484.         echo "    ";
  485.         $context["parent_category"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'377$this->source); })()), "request", [], "any"falsefalsefalse377), "query", [], "any"falsefalsefalse377), "get", [=> "search_parent_id"], "method"falsefalsefalse377);
  486.         // line 378
  487.         echo "    ";
  488.         // line 379
  489.         echo "        <div class=\"ec-searchnavRole__topicpath\">
  490.             <ol class=\"ec-topicpath\">
  491.                 <li class=\"ec-topicpath__item\"><a href=\"";
  492.         // line 381
  493.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  494.         echo "\">";
  495.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("front.product.all_category"), "html"nulltrue);
  496.         echo "</a>
  497.                 </li>
  498.                 ";
  499.         // line 383
  500.         if ( !(null === (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'383$this->source); })()))) {
  501.             // line 384
  502.             echo "                    ";
  503.             $context['_parent'] = $context;
  504.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'384$this->source); })()), "path", [], "any"falsefalsefalse384));
  505.             $context['loop'] = [
  506.               'parent' => $context['_parent'],
  507.               'index0' => 0,
  508.               'index'  => 1,
  509.               'first'  => true,
  510.             ];
  511.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  512.                 $length count($context['_seq']);
  513.                 $context['loop']['revindex0'] = $length 1;
  514.                 $context['loop']['revindex'] = $length;
  515.                 $context['loop']['length'] = $length;
  516.                 $context['loop']['last'] = === $length;
  517.             }
  518.             foreach ($context['_seq'] as $context["_key"] => $context["Path"]) {
  519.                 // line 385
  520.                 echo "                        ";
  521.                 if ( !twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse385)) {
  522.                     echo 
  523.                             <li class=\"ec-topicpath__divider\">></li>
  524.                             <li class=\"ec-topicpath__item";
  525.                     // line 387
  526.                     if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse387)) {
  527.                         echo "--active";
  528.                     }
  529.                     echo "\">
  530.                                 <a href=\"";
  531.                     // line 388
  532.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  533.                     echo "?category_id=";
  534.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Path"], "id", [], "any"falsefalsefalse388), "html"nulltrue);
  535.                     echo "\">";
  536.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsefalse388), "html"nulltrue);
  537.                     echo "</a>
  538.                             </li>
  539.                         ";
  540.                 }
  541.                 // line 391
  542.                 echo "                    ";
  543.                 ++$context['loop']['index0'];
  544.                 ++$context['loop']['index'];
  545.                 $context['loop']['first'] = false;
  546.                 if (isset($context['loop']['length'])) {
  547.                     --$context['loop']['revindex0'];
  548.                     --$context['loop']['revindex'];
  549.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  550.                 }
  551.             }
  552.             $_parent $context['_parent'];
  553.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Path'], $context['_parent'], $context['loop']);
  554.             $context array_intersect_key($context$_parent) + $_parent;
  555.             // line 392
  556.             echo "                ";
  557.         }
  558.         // line 393
  559.         echo "                ";
  560.         if ((isset($context["selected_categories"]) || array_key_exists("selected_categories"$context) ? $context["selected_categories"] : (function () { throw new RuntimeError('Variable "selected_categories" does not exist.'393$this->source); })())) {
  561.             // line 394
  562.             echo "                ";
  563.             $context["first_matched"] = true;
  564.             // line 395
  565.             echo "    \t\t        ";
  566.             $context['_parent'] = $context;
  567.             $context['_seq'] = twig_ensure_traversable((isset($context["Categories"]) || array_key_exists("Categories"$context) ? $context["Categories"] : (function () { throw new RuntimeError('Variable "Categories" does not exist.'395$this->source); })()));
  568.             foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  569.                 // line 396
  570.                 echo "    \t\t            ";
  571.                 $context['_parent'] = $context;
  572.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["Category"], "Children", [], "any"falsefalsefalse396));
  573.                 foreach ($context['_seq'] as $context["_key"] => $context["children"]) {
  574.                     // line 397
  575.                     echo "            \t\t        ";
  576.                     if ((twig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse397) == (isset($context["parent_category"]) || array_key_exists("parent_category"$context) ? $context["parent_category"] : (function () { throw new RuntimeError('Variable "parent_category" does not exist.'397$this->source); })()))) {
  577.                         // line 398
  578.                         echo "            \t\t            <li class=\"ec-topicpath__divider\">></li>
  579.             \t\t            <li><a href=\"";
  580.                         // line 399
  581.                         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  582.                         echo "?category_id=";
  583.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse399), "html"nulltrue);
  584.                         echo "\">";
  585.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["children"], "name", [], "any"falsefalsefalse399), "html"nulltrue);
  586.                         echo "</a></li>
  587.             \t\t        ";
  588.                     }
  589.                     // line 401
  590.                     echo "            \t\t            ";
  591.                     $context['_parent'] = $context;
  592.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["children"], "Children", [], "any"falsefalsefalse401));
  593.                     foreach ($context['_seq'] as $context["_key"] => $context["grandChildren"]) {
  594.                         // line 402
  595.                         echo "                                    ";
  596.                         $context['_parent'] = $context;
  597.                         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["grandChildren"], "Children", [], "any"falsefalsefalse402));
  598.                         foreach ($context['_seq'] as $context["_key"] => $context["grandgrandChild"]) {
  599.                             // line 403
  600.                             echo "                                        ";
  601.                             if (twig_in_filter(twig_get_attribute($this->env$this->source$context["grandgrandChild"], "id", [], "any"falsefalsefalse403), (isset($context["selected_categories"]) || array_key_exists("selected_categories"$context) ? $context["selected_categories"] : (function () { throw new RuntimeError('Variable "selected_categories" does not exist.'403$this->source); })()))) {
  602.                                 // line 404
  603.                                 echo "                                            ";
  604.                                 if ((isset($context["first_matched"]) || array_key_exists("first_matched"$context) ? $context["first_matched"] : (function () { throw new RuntimeError('Variable "first_matched" does not exist.'404$this->source); })())) {
  605.                                     // line 405
  606.                                     echo "                                                <li class=\"ec-topicpath__divider\">></li>
  607.                                                 <li><a href=\"";
  608.                                     // line 406
  609.                                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  610.                                     echo "?category_ids[]=";
  611.                                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandgrandChild"], "id", [], "any"falsefalsefalse406), "html"nulltrue);
  612.                                     echo "&search_parent_id=";
  613.                                     echo twig_escape_filter($this->env, (isset($context["parent_category"]) || array_key_exists("parent_category"$context) ? $context["parent_category"] : (function () { throw new RuntimeError('Variable "parent_category" does not exist.'406$this->source); })()), "html"nulltrue);
  614.                                     echo "\">";
  615.                                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandgrandChild"], "name", [], "any"falsefalsefalse406), "html"nulltrue);
  616.                                     echo "</a></li>
  617.                                                 ";
  618.                                     // line 407
  619.                                     $context["first_matched"] = false;
  620.                                     // line 408
  621.                                     echo "                                            ";
  622.                                 } else {
  623.                                     // line 409
  624.                                     echo "                                                <li><a href=\"";
  625.                                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  626.                                     echo "?category_ids[]=";
  627.                                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandgrandChild"], "id", [], "any"falsefalsefalse409), "html"nulltrue);
  628.                                     echo "&search_parent_id=";
  629.                                     echo twig_escape_filter($this->env, (isset($context["parent_category"]) || array_key_exists("parent_category"$context) ? $context["parent_category"] : (function () { throw new RuntimeError('Variable "parent_category" does not exist.'409$this->source); })()), "html"nulltrue);
  630.                                     echo "\">・";
  631.                                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandgrandChild"], "name", [], "any"falsefalsefalse409), "html"nulltrue);
  632.                                     echo "</a></li>
  633.                                             ";
  634.                                 }
  635.                                 // line 411
  636.                                 echo "                                        ";
  637.                             }
  638.                             // line 412
  639.                             echo "                                    ";
  640.                         }
  641.                         $_parent $context['_parent'];
  642.                         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['grandgrandChild'], $context['_parent'], $context['loop']);
  643.                         $context array_intersect_key($context$_parent) + $_parent;
  644.                         // line 413
  645.                         echo "                                ";
  646.                     }
  647.                     $_parent $context['_parent'];
  648.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['grandChildren'], $context['_parent'], $context['loop']);
  649.                     $context array_intersect_key($context$_parent) + $_parent;
  650.                     // line 414
  651.                     echo "                            ";
  652.                 }
  653.                 $_parent $context['_parent'];
  654.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['children'], $context['_parent'], $context['loop']);
  655.                 $context array_intersect_key($context$_parent) + $_parent;
  656.                 // line 415
  657.                 echo "                    ";
  658.             }
  659.             $_parent $context['_parent'];
  660.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  661.             $context array_intersect_key($context$_parent) + $_parent;
  662.             // line 416
  663.             echo "                ";
  664.         }
  665.         // line 417
  666.         echo "                ";
  667.         if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'417$this->source); })()), "vars", [], "any"falsefalsefalse417), "value", [], "any"falsefalsefalse417), "name", [], "any"falsefalsefalse417)) {
  668.             // line 418
  669.             echo "                    <li class=\"ec-topicpath__divider\">></li>
  670.                     <li class=\"ec-topicpath__item\"><a href=\"";
  671.             // line 419
  672.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  673.             echo "?name=";
  674.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'419$this->source); })()), "vars", [], "any"falsefalsefalse419), "value", [], "any"falsefalsefalse419), "name", [], "any"falsefalsefalse419), "html"nulltrue);
  675.             echo "\">";
  676.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'419$this->source); })()), "vars", [], "any"falsefalsefalse419), "value", [], "any"falsefalsefalse419), "name", [], "any"falsefalsefalse419), "html"nulltrue);
  677.             echo "</a></li>
  678.                 ";
  679.         }
  680.         // line 421
  681.         echo "            </ol>
  682.         </div>
  683.     <!-- カテゴリ検索 -->
  684.     ";
  685.         // line 424
  686.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'424$this->source); })()), "request", [], "any"falsefalsefalse424), "query", [], "any"falsefalsefalse424), "get", [=> "category_id"], "method"falsefalsefalse424) || twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'424$this->source); })()), "request", [], "any"falsefalsefalse424), "query", [], "any"falsefalsefalse424), "get", [=> "search_parent_id"], "method"falsefalsefalse424))) {
  687.             // line 425
  688.             echo "        <form action=\"";
  689.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  690.             echo "\" method=\"get\" class=\"tab\" >
  691.             <ul class=\"tab-list\">
  692.                 ";
  693.             // line 427
  694.             $context['_parent'] = $context;
  695.             $context['_seq'] = twig_ensure_traversable((isset($context["Categories"]) || array_key_exists("Categories"$context) ? $context["Categories"] : (function () { throw new RuntimeError('Variable "Categories" does not exist.'427$this->source); })()));
  696.             foreach ($context['_seq'] as $context["_key"] => $context["tab"]) {
  697.                 // line 428
  698.                 echo "                    ";
  699.                 $context['_parent'] = $context;
  700.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["tab"], "Children", [], "any"falsefalsefalse428));
  701.                 foreach ($context['_seq'] as $context["_key"] => $context["children"]) {
  702.                     // line 429
  703.                     echo "                        ";
  704.                     $context["children_ids"] = [];
  705.                     // line 430
  706.                     echo "                        ";
  707.                     $context['_parent'] = $context;
  708.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["children"], "Children", [], "any"falsefalsefalse430));
  709.                     foreach ($context['_seq'] as $context["_key"] => $context["grandChild"]) {
  710.                         // line 431
  711.                         echo "                            ";
  712.                         $context["children_ids"] = twig_array_merge((isset($context["children_ids"]) || array_key_exists("children_ids"$context) ? $context["children_ids"] : (function () { throw new RuntimeError('Variable "children_ids" does not exist.'431$this->source); })()), [=> twig_get_attribute($this->env$this->source$context["grandChild"], "id", [], "any"falsefalsefalse431)]);
  713.                         // line 432
  714.                         echo "                        ";
  715.                     }
  716.                     $_parent $context['_parent'];
  717.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['grandChild'], $context['_parent'], $context['loop']);
  718.                     $context array_intersect_key($context$_parent) + $_parent;
  719.                     // line 433
  720.                     echo "                            ";
  721.                     if ((((twig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse433) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'433$this->source); })()), "request", [], "any"falsefalsefalse433), "query", [], "any"falsefalsefalse433), "get", [=> "category_id"], "method"falsefalsefalse433)) || (twig_get_attribute($this->env$this->source,                     // line 434
  722. $context["children"], "id", [], "any"falsefalsefalse434) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'434$this->source); })()), "request", [], "any"falsefalsefalse434), "query", [], "any"falsefalsefalse434), "get", [=> "search_parent_id"], "method"falsefalsefalse434))) || twig_in_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 435
  723. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'435$this->source); })()), "request", [], "any"falsefalsefalse435), "query", [], "any"falsefalsefalse435), "get", [=> "category_id"], "method"falsefalsefalse435), (isset($context["children_ids"]) || array_key_exists("children_ids"$context) ? $context["children_ids"] : (function () { throw new RuntimeError('Variable "children_ids" does not exist.'435$this->source); })())))) {
  724.                         // line 437
  725.                         echo "                                <li class=\"tab-item active\" tabindex=\"0\" id=\"";
  726.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse437), "html"nulltrue);
  727.                         echo "\">
  728.                                     <a href=\"";
  729.                         // line 438
  730.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list", ["category_id" => twig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse438)]), "html"nulltrue);
  731.                         echo "\">";
  732.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["children"], "name", [], "any"falsefalsefalse438), "html"nulltrue);
  733.                         echo "</a>
  734.                                 </li>
  735.                             ";
  736.                     } else {
  737.                         // line 441
  738.                         echo "                                <li class=\"tab-item\" tabindex=\"0\" id=\"";
  739.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse441), "html"nulltrue);
  740.                         echo "\">
  741.                                     <a href=\"";
  742.                         // line 442
  743.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list", ["category_id" => twig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse442)]), "html"nulltrue);
  744.                         echo "\">";
  745.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["children"], "name", [], "any"falsefalsefalse442), "html"nulltrue);
  746.                         echo "</a>
  747.                                 </li>
  748.                             ";
  749.                     }
  750.                     // line 445
  751.                     echo "                    ";
  752.                 }
  753.                 $_parent $context['_parent'];
  754.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['children'], $context['_parent'], $context['loop']);
  755.                 $context array_intersect_key($context$_parent) + $_parent;
  756.                 // line 446
  757.                 echo "                ";
  758.             }
  759.             $_parent $context['_parent'];
  760.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tab'], $context['_parent'], $context['loop']);
  761.             $context array_intersect_key($context$_parent) + $_parent;
  762.             // line 447
  763.             echo "            </ul>
  764.             <div class=\"tab-content\" id=\"category-form\">
  765.                 ";
  766.             // line 449
  767.             $context['_parent'] = $context;
  768.             $context['_seq'] = twig_ensure_traversable((isset($context["Categories"]) || array_key_exists("Categories"$context) ? $context["Categories"] : (function () { throw new RuntimeError('Variable "Categories" does not exist.'449$this->source); })()));
  769.             foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  770.                 // line 450
  771.                 echo "                    ";
  772.                 $context['_parent'] = $context;
  773.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["Category"], "Children", [], "any"falsefalsefalse450));
  774.                 foreach ($context['_seq'] as $context["_key"] => $context["children"]) {
  775.                     // line 451
  776.                     echo "                        ";
  777.                     $context["children_ids"] = [];
  778.                     // line 452
  779.                     echo "                        ";
  780.                     $context['_parent'] = $context;
  781.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["children"], "Children", [], "any"falsefalsefalse452));
  782.                     foreach ($context['_seq'] as $context["_key"] => $context["grandChild"]) {
  783.                         // line 453
  784.                         echo "                            ";
  785.                         $context["children_ids"] = twig_array_merge((isset($context["children_ids"]) || array_key_exists("children_ids"$context) ? $context["children_ids"] : (function () { throw new RuntimeError('Variable "children_ids" does not exist.'453$this->source); })()), [=> twig_get_attribute($this->env$this->source$context["grandChild"], "id", [], "any"falsefalsefalse453)]);
  786.                         // line 454
  787.                         echo "                        ";
  788.                     }
  789.                     $_parent $context['_parent'];
  790.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['grandChild'], $context['_parent'], $context['loop']);
  791.                     $context array_intersect_key($context$_parent) + $_parent;
  792.                     // line 455
  793.                     echo "                        ";
  794.                     if (((((twig_get_attribute($this->env$this->source$context["children"], "id", [], "any"falsefalsefalse455) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'455$this->source); })()), "request", [], "any"falsefalsefalse455), "query", [], "any"falsefalsefalse455), "get", [=> "category_id"], "method"falsefalsefalse455)) || (twig_get_attribute($this->env$this->source,                     // line 456
  795. $context["children"], "id", [], "any"falsefalsefalse456) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'456$this->source); })()), "request", [], "any"falsefalsefalse456), "query", [], "any"falsefalsefalse456), "get", [=> "search_parent_id"], "method"falsefalsefalse456))) || twig_in_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 457
  796. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'457$this->source); })()), "request", [], "any"falsefalsefalse457), "query", [], "any"falsefalsefalse457), "get", [=> "category_id"], "method"falsefalsefalse457), (isset($context["children_ids"]) || array_key_exists("children_ids"$context) ? $context["children_ids"] : (function () { throw new RuntimeError('Variable "children_ids" does not exist.'457$this->source); })()))) &&  !twig_test_empty(twig_get_attribute($this->env$this->source,                     // line 458
  797. $context["children"], "Children", [], "any"falsefalsefalse458)))) {
  798.                         // line 460
  799.                         echo "                            <div class=\"tab-panel active\">
  800.                                     ";
  801.                         // line 461
  802.                         $context['_parent'] = $context;
  803.                         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["children"], "Children", [], "any"falsefalsefalse461));
  804.                         foreach ($context['_seq'] as $context["_key"] => $context["grandChild"]) {
  805.                             // line 462
  806.                             echo "                                    <div class=select>
  807.                                         <select name=\"category_ids[]\">
  808.                                             <option value=\"\">";
  809.                             // line 464
  810.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandChild"], "name", [], "any"falsefalsefalse464), "html"nulltrue);
  811.                             echo "から選択</option>
  812.                                                 ";
  813.                             // line 465
  814.                             $context['_parent'] = $context;
  815.                             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["grandChild"], "Children", [], "any"falsefalsefalse465));
  816.                             foreach ($context['_seq'] as $context["_key"] => $context["grandgrandchild"]) {
  817.                                 // line 466
  818.                                 echo "                                                    <option value=\"";
  819.                                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandgrandchild"], "id", [], "any"falsefalsefalse466), "html"nulltrue);
  820.                                 echo "\"
  821.                                                         ";
  822.                                 // line 467
  823.                                 if (twig_in_filter(twig_get_attribute($this->env$this->source$context["grandgrandchild"], "id", [], "any"falsefalsefalse467), (isset($context["selected_categories"]) || array_key_exists("selected_categories"$context) ? $context["selected_categories"] : (function () { throw new RuntimeError('Variable "selected_categories" does not exist.'467$this->source); })()))) {
  824.                                     // line 468
  825.                                     echo "                                                            selected
  826.                                                         ";
  827.                                 }
  828.                                 // line 470
  829.                                 echo "                                                    >";
  830.                                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["grandgrandchild"], "name", [], "any"falsefalsefalse470), "html"nulltrue);
  831.                                 echo "</option>
  832.                                                 ";
  833.                             }
  834.                             $_parent $context['_parent'];
  835.                             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['grandgrandchild'], $context['_parent'], $context['loop']);
  836.                             $context array_intersect_key($context$_parent) + $_parent;
  837.                             // line 472
  838.                             echo "                                        </select>
  839.                                     </div>
  840.                                     ";
  841.                         }
  842.                         $_parent $context['_parent'];
  843.                         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['grandChild'], $context['_parent'], $context['loop']);
  844.                         $context array_intersect_key($context$_parent) + $_parent;
  845.                         // line 475
  846.                         echo "                            </div>
  847.                             <button type=\"submit\" class=\"category-btn\" name=\"search_parent_id\"
  848.                             ";
  849.                         // line 477
  850.                         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'477$this->source); })()), "request", [], "any"falsefalsefalse477), "query", [], "any"falsefalsefalse477), "get", [=> "category_id"], "method"falsefalsefalse477) || twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'477$this->source); })()), "request", [], "any"falsefalsefalse477), "query", [], "any"falsefalsefalse477), "get", [=> "search_parent_id"], "method"falsefalsefalse477))) {
  851.                             // line 478
  852.                             echo "                            value=\"";
  853.                             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'478$this->source); })()), "request", [], "any"falsefalsefalse478), "query", [], "any"falsefalsefalse478), "get", [=> "category_id"], "method"falsefalsefalse478)) ? (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'478$this->source); })()), "request", [], "any"falsefalsefalse478), "query", [], "any"falsefalsefalse478), "get", [=> "category_id"], "method"falsefalsefalse478)) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'478$this->source); })()), "request", [], "any"falsefalsefalse478), "query", [], "any"falsefalsefalse478), "get", [=> "search_parent_id"], "method"falsefalsefalse478))), "html"nulltrue);
  854.                             echo "\"
  855.                             >
  856.                             ";
  857.                         }
  858.                         // line 481
  859.                         echo "                                <img src=\"";
  860.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/html/user_data/assets/icon/btn_ic_search.svg ""user_data"), "html"nulltrue);
  861.                         echo "\" alt=\"お気に入り\">
  862.                                 カテゴリ検索
  863.                             </button>
  864.                         ";
  865.                     } else {
  866.                         // line 485
  867.                         echo "                            <div class=\"tab-panel\"></div>
  868.                         ";
  869.                     }
  870.                     // line 487
  871.                     echo "                    ";
  872.                 }
  873.                 $_parent $context['_parent'];
  874.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['children'], $context['_parent'], $context['loop']);
  875.                 $context array_intersect_key($context$_parent) + $_parent;
  876.                 // line 488
  877.                 echo "                ";
  878.             }
  879.             $_parent $context['_parent'];
  880.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  881.             $context array_intersect_key($context$_parent) + $_parent;
  882.             // line 489
  883.             echo "            </div>
  884.             <div class=\"search-form-box\">
  885.                 <div class=\"search-form-content\">
  886.                     <div class=\"search-form-item\">
  887.                         <input type=\"text\" name=\"name\" class=\"search-form-input\"
  888.                         placeholder=\"カテゴリから絞り込み\"
  889.                         ";
  890.             // line 495
  891.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'495$this->source); })()), "vars", [], "any"falsefalsefalse495), "value", [], "any"falsefalsefalse495), "name", [], "any"falsefalsefalse495) && ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,             // line 496
  892. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'496$this->source); })()), "request", [], "any"falsefalsefalse496), "query", [], "any"falsefalsefalse496), "get", [=> "search_parent_id"], "method"falsefalsefalse496)) ||  !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'496$this->source); })()), "request", [], "any"falsefalsefalse496), "query", [], "any"falsefalsefalse496), "get", [=> "category_id"], "method"falsefalsefalse496))))) {
  893.                 // line 497
  894.                 echo "                        value=\"";
  895.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'497$this->source); })()), "vars", [], "any"falsefalsefalse497), "value", [], "any"falsefalsefalse497), "name", [], "any"falsefalsefalse497), "html"nulltrue);
  896.                 echo "\"
  897.                         ";
  898.             }
  899.             // line 499
  900.             echo "                        >
  901.                     </div>
  902.                     <button type=\"submit\" class=\"category-btn word-search\" name=\"search_parent_id\"
  903.                         ";
  904.             // line 502
  905.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'502$this->source); })()), "request", [], "any"falsefalsefalse502), "query", [], "any"falsefalsefalse502), "get", [=> "category_id"], "method"falsefalsefalse502) || twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'502$this->source); })()), "request", [], "any"falsefalsefalse502), "query", [], "any"falsefalsefalse502), "get", [=> "search_parent_id"], "method"falsefalsefalse502))) {
  906.                 // line 503
  907.                 echo "                        value=\"";
  908.                 echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'503$this->source); })()), "request", [], "any"falsefalsefalse503), "query", [], "any"falsefalsefalse503), "get", [=> "category_id"], "method"falsefalsefalse503)) ? (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'503$this->source); })()), "request", [], "any"falsefalsefalse503), "query", [], "any"falsefalsefalse503), "get", [=> "category_id"], "method"falsefalsefalse503)) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'503$this->source); })()), "request", [], "any"falsefalsefalse503), "query", [], "any"falsefalsefalse503), "get", [=> "search_parent_id"], "method"falsefalsefalse503))), "html"nulltrue);
  909.                 echo "\"
  910.                         >
  911.                         ";
  912.             }
  913.             // line 506
  914.             echo "                        <img src=\"";
  915.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/html/user_data/assets/icon/btn_ic_search.svg ""user_data"), "html"nulltrue);
  916.             echo "\" alt=\"お気に入り\">
  917.                         絞り込み検索
  918.                     </button>
  919.                 </div>
  920.             </div>
  921.         </form>
  922.     ";
  923.         }
  924.         // line 513
  925.         echo "<section class=\"contents-list\">
  926. \t<!-- 商品リスト -->
  927. \t<div class=\"list-view\">
  928. \t\t<div class=\"list-title\">
  929. \t\t        ";
  930.         // line 518
  931.         echo "                ";
  932.         if (((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'518$this->source); })()), "vars", [], "any"falsefalsefalse518), "value", [], "any"falsefalsefalse518), "name", [], "any"falsefalsefalse518) && twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,         // line 519
  933. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'519$this->source); })()), "request", [], "any"falsefalsefalse519), "query", [], "any"falsefalsefalse519), "get", [=> "category_id"], "method"falsefalsefalse519))) && twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,         // line 520
  934. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'520$this->source); })()), "request", [], "any"falsefalsefalse520), "query", [], "any"falsefalsefalse520), "get", [=> "search_parent_id"], "method"falsefalsefalse520)))) {
  935.             // line 521
  936.             echo "                    <h2 class=\"ec-topicpath__item\">「";
  937.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'521$this->source); })()), "vars", [], "any"falsefalsefalse521), "value", [], "any"falsefalsefalse521), "name", [], "any"falsefalsefalse521), "html"nulltrue);
  938.             echo "」で検索</h2>
  939.                 ";
  940.         }
  941.         // line 523
  942.         echo "                
  943.                 ";
  944.         // line 525
  945.         echo "\t\t        ";
  946.         if ( !(null === (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'525$this->source); })()))) {
  947.             // line 526
  948.             echo "                    <h2 class=\"ec-topicpath__item\">";
  949.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'526$this->source); })()), "name", [], "any"falsefalsefalse526), "html"nulltrue);
  950.             echo "</h2>
  951.                     ";
  952.             // line 527
  953.             if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'527$this->source); })()), "vars", [], "any"falsefalsefalse527), "value", [], "any"falsefalsefalse527), "name", [], "any"falsefalsefalse527)) {
  954.                 // line 528
  955.                 echo "                        <p class=\"ec-topicpath__item\">> ";
  956.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'528$this->source); })()), "vars", [], "any"falsefalsefalse528), "value", [], "any"falsefalsefalse528), "name", [], "any"falsefalsefalse528), "html"nulltrue);
  957.                 echo "</p>
  958.                     ";
  959.             }
  960.             // line 530
  961.             echo "                ";
  962.         }
  963.         // line 531
  964.         echo "                ";
  965.         // line 532
  966.         echo "                ";
  967.         if ((isset($context["selected_categories"]) || array_key_exists("selected_categories"$context) ? $context["selected_categories"] : (function () { throw new RuntimeError('Variable "selected_categories" does not exist.'532$this->source); })())) {
  968.             // line 533
  969.             echo "                ";
  970.             $context["first_matched"] = true;
  971.             // line 534
  972.             echo "    \t\t        ";
  973.             $context['_parent'] = $context;
  974.             $context['_seq'] = twig_ensure_traversable((isset($context["Categories"]) || array_key_exists("Categories"$context) ? $context["Categories"] : (function () { throw new RuntimeError('Variable "Categories" does not exist.'534$this->source); })()));
  975.             foreach ($context['_seq'] as $context["_key"] => $context["firstCategory"]) {
  976.                 // line 535
  977.                 echo "    \t\t            ";
  978.                 $context['_parent'] = $context;
  979.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["firstCategory"], "Children", [], "any"falsefalsefalse535));
  980.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  981.                     // line 536
  982.                     echo "        \t\t        ";
  983.                     if ((twig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse536) == (isset($context["parent_category"]) || array_key_exists("parent_category"$context) ? $context["parent_category"] : (function () { throw new RuntimeError('Variable "parent_category" does not exist.'536$this->source); })()))) {
  984.                         // line 537
  985.                         echo "        \t\t            <h2 class=\"ec-topicpath__item\">";
  986.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse537), "html"nulltrue);
  987.                         echo "</h2>
  988.         \t\t        ";
  989.                     }
  990.                     // line 539
  991.                     echo "        \t\t            ";
  992.                     $context['_parent'] = $context;
  993.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["Category"], "Children", [], "any"falsefalsefalse539));
  994.                     foreach ($context['_seq'] as $context["_key"] => $context["Child"]) {
  995.                         // line 540
  996.                         echo "                                ";
  997.                         $context['_parent'] = $context;
  998.                         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["Child"], "Children", [], "any"falsefalsefalse540));
  999.                         foreach ($context['_seq'] as $context["_key"] => $context["GrandChildren"]) {
  1000.                             // line 541
  1001.                             echo "                                    ";
  1002.                             if (twig_in_filter(twig_get_attribute($this->env$this->source$context["GrandChildren"], "id", [], "any"falsefalsefalse541), (isset($context["selected_categories"]) || array_key_exists("selected_categories"$context) ? $context["selected_categories"] : (function () { throw new RuntimeError('Variable "selected_categories" does not exist.'541$this->source); })()))) {
  1003.                                 // line 542
  1004.                                 echo "                                        ";
  1005.                                 if ((isset($context["first_matched"]) || array_key_exists("first_matched"$context) ? $context["first_matched"] : (function () { throw new RuntimeError('Variable "first_matched" does not exist.'542$this->source); })())) {
  1006.                                     // line 543
  1007.                                     echo "                                            <p class=\"ec-topicpath__item\">> ";
  1008.                                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["GrandChildren"], "name", [], "any"falsefalsefalse543), "html"nulltrue);
  1009.                                     echo "</p>
  1010.                                             ";
  1011.                                     // line 544
  1012.                                     $context["first_matched"] = false;
  1013.                                     // line 545
  1014.                                     echo "                                        ";
  1015.                                 } else {
  1016.                                     // line 546
  1017.                                     echo "                                            <p class=\"ec-topicpath__item\">・ ";
  1018.                                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["GrandChildren"], "name", [], "any"falsefalsefalse546), "html"nulltrue);
  1019.                                     echo "</p>
  1020.                                         ";
  1021.                                 }
  1022.                                 // line 548
  1023.                                 echo "                                    ";
  1024.                             }
  1025.                             // line 549
  1026.                             echo "                                ";
  1027.                         }
  1028.                         $_parent $context['_parent'];
  1029.                         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['GrandChildren'], $context['_parent'], $context['loop']);
  1030.                         $context array_intersect_key($context$_parent) + $_parent;
  1031.                         // line 550
  1032.                         echo "                            ";
  1033.                     }
  1034.                     $_parent $context['_parent'];
  1035.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Child'], $context['_parent'], $context['loop']);
  1036.                     $context array_intersect_key($context$_parent) + $_parent;
  1037.                     // line 551
  1038.                     echo "                        ";
  1039.                 }
  1040.                 $_parent $context['_parent'];
  1041.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  1042.                 $context array_intersect_key($context$_parent) + $_parent;
  1043.                 // line 552
  1044.                 echo "                    ";
  1045.             }
  1046.             $_parent $context['_parent'];
  1047.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['firstCategory'], $context['_parent'], $context['loop']);
  1048.             $context array_intersect_key($context$_parent) + $_parent;
  1049.             // line 553
  1050.             echo "                    ";
  1051.             if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'553$this->source); })()), "vars", [], "any"falsefalsefalse553), "value", [], "any"falsefalsefalse553), "name", [], "any"falsefalsefalse553)) {
  1052.                 // line 554
  1053.                 echo "                        <p class=\"ec-topicpath__item\">> ";
  1054.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'554$this->source); })()), "vars", [], "any"falsefalsefalse554), "value", [], "any"falsefalsefalse554), "name", [], "any"falsefalsefalse554), "html"nulltrue);
  1055.                 echo "</p>
  1056.                     ";
  1057.             }
  1058.             // line 556
  1059.             echo "                ";
  1060.         }
  1061.         // line 557
  1062.         echo "
  1063. \t\t\t\t";
  1064.         // line 558
  1065.         if ((twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'558$this->source); })()), "totalItemCount", [], "any"falsefalsefalse558) > 0)) {
  1066.             // line 559
  1067.             echo "                    ";
  1068.             echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<p>(%count%冊)</p>", ["%count%" => twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'559$this->source); })()), "totalItemCount", [], "any"falsefalsefalse559)]);
  1069.             echo "
  1070.                 ";
  1071.         } else {
  1072.             // line 561
  1073.             echo "                    <p>";
  1074.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html"nulltrue);
  1075.             echo "</p>
  1076.                 ";
  1077.         }
  1078.         // line 563
  1079.         echo "\t\t</div> 
  1080. \t\t<!-- リストエリア -->
  1081. \t\t";
  1082.         // line 565
  1083.         if ((twig_length_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'565$this->source); })()), "totalItemCount", [], "any"falsefalsefalse565)) > 0)) {
  1084.             // line 566
  1085.             echo "\t\t\t<div>
  1086. \t\t\t    <div class=\"list-area\">
  1087. \t\t\t    ";
  1088.             // line 568
  1089.             $context['_parent'] = $context;
  1090.             $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'568$this->source); })()));
  1091.             $context['loop'] = [
  1092.               'parent' => $context['_parent'],
  1093.               'index0' => 0,
  1094.               'index'  => 1,
  1095.               'first'  => true,
  1096.             ];
  1097.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1098.                 $length count($context['_seq']);
  1099.                 $context['loop']['revindex0'] = $length 1;
  1100.                 $context['loop']['revindex'] = $length;
  1101.                 $context['loop']['length'] = $length;
  1102.                 $context['loop']['last'] = === $length;
  1103.             }
  1104.             foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  1105.                 // line 569
  1106.                 echo "                    <div class=\"card-1\">
  1107.                         <a href=\"";
  1108.                 // line 570
  1109.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse570)]), "html"nulltrue);
  1110.                 echo "\">
  1111.                             <img src=\"";
  1112.                 // line 571
  1113.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(twig_get_attribute($this->env$this->source$context["Product"], "main_list_image", [], "any"falsefalsefalse571)), "save_image"), "html"nulltrue);
  1114.                 echo "\" alt=\"";
  1115.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsefalse571), "html"nulltrue);
  1116.                 echo "\" ";
  1117.                 if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse571) > 5)) {
  1118.                     echo " loading=\"lazy\"";
  1119.                 }
  1120.                 echo ">
  1121.                             <h3>";
  1122.                 // line 572
  1123.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsefalse572), "html"nulltrue);
  1124.                 echo "</h3>
  1125.                             <p class=\"price02-default\">
  1126.                                 ";
  1127.                 // line 574
  1128.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsefalse574)), "html"nulltrue);
  1129.                 echo "<span class=\"tax\">(税込)</span>
  1130.                             </p>
  1131.                         </a>
  1132.                     </div>
  1133.                 ";
  1134.                 ++$context['loop']['index0'];
  1135.                 ++$context['loop']['index'];
  1136.                 $context['loop']['first'] = false;
  1137.                 if (isset($context['loop']['length'])) {
  1138.                     --$context['loop']['revindex0'];
  1139.                     --$context['loop']['revindex'];
  1140.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  1141.                 }
  1142.             }
  1143.             $_parent $context['_parent'];
  1144.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  1145.             $context array_intersect_key($context$_parent) + $_parent;
  1146.             // line 579
  1147.             echo "                </div>
  1148.     \t\t\t<!-- ページネーション -->
  1149.     \t\t\t";
  1150.             // line 581
  1151.             $context["pages"] = twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'581$this->source); })()), "paginationData", [], "any"falsefalsefalse581);
  1152.             // line 582
  1153.             echo "    \t\t\t";
  1154.             if ((twig_get_attribute($this->env$this->source, (isset($context["pages"]) || array_key_exists("pages"$context) ? $context["pages"] : (function () { throw new RuntimeError('Variable "pages" does not exist.'582$this->source); })()), "pageCount", [], "any"falsefalsefalse582) > 1)) {
  1155.                 // line 583
  1156.                 echo "                    <div class=\"ec-pager pagination\">
  1157.                         ";
  1158.                 // line 585
  1159.                 echo "                        ";
  1160.                 if (twig_get_attribute($this->env$this->source, ($context["pages"] ?? null), "previous", [], "any"truetruefalse585)) {
  1161.                     // line 586
  1162.                     echo "                            <a class=\"page-return\" href=\"";
  1163.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 587
  1164. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'587$this->source); })()), "request", [], "any"falsefalsefalse587), "attributes", [], "any"falsefalsefalse587), "get", [=> "_route"], "method"falsefalsefalse587), twig_array_merge(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 588
  1165. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'588$this->source); })()), "request", [], "any"falsefalsefalse588), "query", [], "any"falsefalsefalse588), "all", [], "any"falsefalsefalse588), ["pageno" => twig_get_attribute($this->env$this->source, (isset($context["pages"]) || array_key_exists("pages"$context) ? $context["pages"] : (function () { throw new RuntimeError('Variable "pages" does not exist.'588$this->source); })()), "previous", [], "any"falsefalsefalse588)])), "html"nulltrue);
  1166.                     echo "\">←</a>
  1167.                         ";
  1168.                 }
  1169.                 // line 590
  1170.                 echo "                        <div class=\"page-num\">
  1171.                             ";
  1172.                 // line 591
  1173.                 $context['_parent'] = $context;
  1174.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["pages"]) || array_key_exists("pages"$context) ? $context["pages"] : (function () { throw new RuntimeError('Variable "pages" does not exist.'591$this->source); })()), "pagesInRange", [], "any"falsefalsefalse591));
  1175.                 foreach ($context['_seq'] as $context["_key"] => $context["page"]) {
  1176.                     // line 592
  1177.                     echo "                                ";
  1178.                     if (($context["page"] == twig_get_attribute($this->env$this->source, (isset($context["pages"]) || array_key_exists("pages"$context) ? $context["pages"] : (function () { throw new RuntimeError('Variable "pages" does not exist.'592$this->source); })()), "current", [], "any"falsefalsefalse592))) {
  1179.                         // line 593
  1180.                         echo "                                    <a class=\"active\" href=\"";
  1181.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                         // line 594
  1182. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'594$this->source); })()), "request", [], "any"falsefalsefalse594), "attributes", [], "any"falsefalsefalse594), "get", [=> "_route"], "method"falsefalsefalse594), twig_array_merge(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                         // line 595
  1183. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'595$this->source); })()), "request", [], "any"falsefalsefalse595), "query", [], "any"falsefalsefalse595), "all", [], "any"falsefalsefalse595), ["pageno" => $context["page"]])), "html"nulltrue);
  1184.                         echo "\"> ";
  1185.                         echo twig_escape_filter($this->env$context["page"], "html"nulltrue);
  1186.                         echo " </a>
  1187.                                 ";
  1188.                     } else {
  1189.                         // line 597
  1190.                         echo "                                    <a href=\"";
  1191.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                         // line 598
  1192. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'598$this->source); })()), "request", [], "any"falsefalsefalse598), "attributes", [], "any"falsefalsefalse598), "get", [=> "_route"], "method"falsefalsefalse598), twig_array_merge(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                         // line 599
  1193. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'599$this->source); })()), "request", [], "any"falsefalsefalse599), "query", [], "any"falsefalsefalse599), "all", [], "any"falsefalsefalse599), ["pageno" => $context["page"]])), "html"nulltrue);
  1194.                         echo "\"> ";
  1195.                         echo twig_escape_filter($this->env$context["page"], "html"nulltrue);
  1196.                         echo " </a>
  1197.                                 ";
  1198.                     }
  1199.                     // line 601
  1200.                     echo "                            ";
  1201.                 }
  1202.                 $_parent $context['_parent'];
  1203.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['page'], $context['_parent'], $context['loop']);
  1204.                 $context array_intersect_key($context$_parent) + $_parent;
  1205.                 // line 602
  1206.                 echo "                        </div>
  1207.                         ";
  1208.                 // line 604
  1209.                 echo "                        ";
  1210.                 if (twig_get_attribute($this->env$this->source, ($context["pages"] ?? null), "next", [], "any"truetruefalse604)) {
  1211.                     // line 605
  1212.                     echo "                            <a class=\"page-advance\" href=\"";
  1213.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 606
  1214. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'606$this->source); })()), "request", [], "any"falsefalsefalse606), "attributes", [], "any"falsefalsefalse606), "get", [=> "_route"], "method"falsefalsefalse606), twig_array_merge(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 607
  1215. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'607$this->source); })()), "request", [], "any"falsefalsefalse607), "query", [], "any"falsefalsefalse607), "all", [], "any"falsefalsefalse607), ["pageno" => twig_get_attribute($this->env$this->source, (isset($context["pages"]) || array_key_exists("pages"$context) ? $context["pages"] : (function () { throw new RuntimeError('Variable "pages" does not exist.'607$this->source); })()), "next", [], "any"falsefalsefalse607)])), "html"nulltrue);
  1216.                     echo "\">→</a>
  1217.                         ";
  1218.                 }
  1219.                 // line 609
  1220.                 echo "                    </div>
  1221.                 ";
  1222.             }
  1223.             // line 611
  1224.             echo "    \t    </div>
  1225.         ";
  1226.         }
  1227.         // line 613
  1228.         echo "    </div>
  1229.             
  1230. </section>
  1231. ";
  1232.         
  1233.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1234.         
  1235.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1236.     }
  1237.     public function getTemplateName()
  1238.     {
  1239.         return "Product/list.twig";
  1240.     }
  1241.     public function isTraitable()
  1242.     {
  1243.         return false;
  1244.     }
  1245.     public function getDebugInfo()
  1246.     {
  1247.         return array (  1269 => 613,  1265 => 611,  1261 => 609,  1256 => 607,  1255 => 606,  1253 => 605,  1250 => 604,  1247 => 602,  1241 => 601,  1234 => 599,  1233 => 598,  1231 => 597,  1224 => 595,  1223 => 594,  1221 => 593,  1218 => 592,  1214 => 591,  1211 => 590,  1206 => 588,  1205 => 587,  1203 => 586,  1200 => 585,  1197 => 583,  1194 => 582,  1192 => 581,  1188 => 579,  1169 => 574,  1164 => 572,  1154 => 571,  1150 => 570,  1147 => 569,  1130 => 568,  1126 => 566,  1124 => 565,  1120 => 563,  1114 => 561,  1108 => 559,  1106 => 558,  1103 => 557,  1100 => 556,  1094 => 554,  1091 => 553,  1085 => 552,  1079 => 551,  1073 => 550,  1067 => 549,  1064 => 548,  1058 => 546,  1055 => 545,  1053 => 544,  1048 => 543,  1045 => 542,  1042 => 541,  1037 => 540,  1032 => 539,  1026 => 537,  1023 => 536,  1018 => 535,  1013 => 534,  1010 => 533,  1007 => 532,  1005 => 531,  1002 => 530,  996 => 528,  994 => 527,  989 => 526,  986 => 525,  983 => 523,  977 => 521,  975 => 520,  974 => 519,  972 => 518,  966 => 513,  955 => 506,  948 => 503,  946 => 502,  941 => 499,  935 => 497,  933 => 496,  932 => 495,  924 => 489,  918 => 488,  912 => 487,  908 => 485,  900 => 481,  893 => 478,  891 => 477,  887 => 475,  879 => 472,  870 => 470,  866 => 468,  864 => 467,  859 => 466,  855 => 465,  851 => 464,  847 => 462,  843 => 461,  840 => 460,  838 => 458,  837 => 457,  836 => 456,  834 => 455,  828 => 454,  825 => 453,  820 => 452,  817 => 451,  812 => 450,  808 => 449,  804 => 447,  798 => 446,  792 => 445,  784 => 442,  779 => 441,  771 => 438,  766 => 437,  764 => 435,  763 => 434,  761 => 433,  755 => 432,  752 => 431,  747 => 430,  744 => 429,  739 => 428,  735 => 427,  729 => 425,  727 => 424,  722 => 421,  713 => 419,  710 => 418,  707 => 417,  704 => 416,  698 => 415,  692 => 414,  686 => 413,  680 => 412,  677 => 411,  665 => 409,  662 => 408,  660 => 407,  650 => 406,  647 => 405,  644 => 404,  641 => 403,  636 => 402,  631 => 401,  622 => 399,  619 => 398,  616 => 397,  611 => 396,  606 => 395,  603 => 394,  600 => 393,  597 => 392,  583 => 391,  573 => 388,  567 => 387,  561 => 385,  543 => 384,  541 => 383,  534 => 381,  530 => 379,  528 => 378,  525 => 377,  522 => 376,  519 => 375,  516 => 374,  506 => 373,  409 => 285,  399 => 278,  368 => 250,  340 => 224,  326 => 223,  318 => 222,  301 => 221,  297 => 219,  287 => 218,  77 => 16,  75 => 15,  73 => 14,  63 => 13,  52 => 11,  50 => 216,  37 => 11,);
  1248.     }
  1249.     public function getSourceContext()
  1250.     {
  1251.         return new Source("{#
  1252. This file is part of EC-CUBE
  1253. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1254. http://www.ec-cube.co.jp/
  1255. For the full copyright and license information, please view the LICENSE
  1256. file that was distributed with this source code.
  1257. #}
  1258. {% extends 'default_frame.twig' %}
  1259. {% block stylesheet %}
  1260.     {#<link rel=\"stylesheet\" href=\"{{ asset('assets/css/contents-list.css', 'user_data') }}\">#}
  1261.     {#<link rel=\"stylesheet\" href=\"{{ asset('assets/css/main_module.css', 'user_data') }}\">#}
  1262.     <link rel=\"stylesheet\" href=\"{{ asset('assets/css/page/_product_list.css', 'user_data') }}\">
  1263. <style>
  1264.     .ec-topicpath{
  1265.         display: flex;
  1266.         margin: 30px 10% 0;
  1267.     }
  1268.     .ec-topicpath a{
  1269.         color: #09860D;
  1270.     }
  1271.     .ec-topicpath__divider{
  1272.         margin: 0 5px;
  1273.     }
  1274.     
  1275.         .category-btn{
  1276.             justify-content: center;
  1277.         }
  1278.         .category-btn img{
  1279.             margin-right: 15px;
  1280.         }
  1281.         .tab {
  1282.             margin: 30px 10% 0;
  1283.         }
  1284.         
  1285.         @media screen and (max-width:768px){
  1286.             .tab img{
  1287.                 width: 15%;
  1288.             }
  1289.             .category-btn{
  1290.                 margin-bottom: 15px;
  1291.             }
  1292.         }
  1293.         .tab-list {
  1294.             display: flex;
  1295.             gap: 1px;
  1296.         }
  1297.         @media screen and (max-width:768px){
  1298.             .tab-list{
  1299.                 flex-direction: column;
  1300.             }
  1301.         }
  1302.         .tab-item {
  1303.             border-radius: 5px 5px 0 0;
  1304.             background-color: #09860D;
  1305.             border-top: solid 1px #09860D;
  1306.             border-right: solid 1px #09860D;
  1307.             border-left: solid 1px #09860D;
  1308.         }
  1309.         .tab-item a{
  1310.             color: #FFF;
  1311.             padding: 0.5em 1.2em;
  1312.             display: block;
  1313.         }
  1314.         .tab-content:has(.tab-panel.active){
  1315.             display: flex;
  1316.             justify-content: space-between;
  1317.             border-top:solid 1px #09860D;
  1318.             border-right:solid 1px #09860D;
  1319.             border-left:solid 1px #09860D;
  1320.             border-radius: 0 8px 0 0;
  1321.         }
  1322.         
  1323.         .tab-content:not(:has(.tab-panel.active)){
  1324.             display: none;
  1325.         }
  1326.         
  1327.         @media screen and (max-width:768px){
  1328.             .tab-content{
  1329.                 flex-direction: column;
  1330.                 border-radius: 0;
  1331.             }
  1332.         }
  1333.         .tab-panel {
  1334.             display: none;
  1335.         }
  1336.         .tab-item.active {
  1337.             background-color: #fff;
  1338.             font-weight: bold;
  1339.             position: relative;
  1340.         }
  1341.         
  1342.         .tab-item.active a{
  1343.             color: #09860D;
  1344.         }
  1345.         
  1346.         .tab-item.active::before{
  1347.             content: \"\";
  1348.             width: 100%;
  1349.             border-bottom: 1px solid  #FFF;
  1350.             position: absolute;
  1351.             bottom: -1px;
  1352.             left: 0;
  1353.         }
  1354.         .tab-panel.active {
  1355.             display: flex;
  1356.             padding: 3%;
  1357.             flex-wrap: wrap;
  1358.             gap:20px 20px;
  1359.             flex: 10;
  1360.         }
  1361.         @media screen and (max-width:768px){
  1362.             .tab-panel.active{
  1363.                 justify-content: center;
  1364.                 
  1365.             }
  1366.         }
  1367.         .tab-panel.active h2 {
  1368.             font-size: 20px;
  1369.             font-weight: bold;
  1370.         }
  1371.         
  1372.         .search-form-box{
  1373.             border: solid 1px #09860D;
  1374.             border-radius: 0 0 8px 8px;
  1375.         }
  1376.         
  1377.         .tab-content:not(:has(.active)) + .search-form-box{
  1378.             border-radius: 0 8px 8px 8px;
  1379.         }
  1380.         .search-form-box .search-form-content{
  1381.             display: flex;
  1382.             justify-content: space-between;
  1383.         }
  1384.         @media screen and (max-width:768px){
  1385.             .search-form-box .search-form-content{
  1386.                 flex-direction: column;
  1387.                 
  1388.             }
  1389.         }
  1390.         .search-form-box .search-form-item{
  1391.             padding: 3%;
  1392.         }
  1393.         @media screen and (max-width:768px){
  1394.             .search-form-box .search-form-item{
  1395.                 margin: 0 auto;
  1396.                 
  1397.             }
  1398.         }
  1399.         
  1400.         .search-form-box .search-form-input{
  1401.             -webkit-appearance: none;
  1402.             -moz-appearance:none;
  1403.             appearance: none;
  1404.             border:1px solid #09860d;
  1405.             border-radius:25px;
  1406.             width: 30vw;
  1407.             padding-left: 20px;
  1408.             height: 36px;
  1409.             background-color: #f5f5f5;
  1410.         }
  1411.         @media screen and (max-width:768px){
  1412.             .search-form-box .search-form-input{
  1413.                 width: 50vw;
  1414.                 box-sizing: border-box;
  1415.             }
  1416.             .search-form-box .search-form-input::placeholder{
  1417.                 font-size: 2vw;
  1418.             }
  1419.         }
  1420.         
  1421.         select{
  1422.             background:none;
  1423.             appearance: none;
  1424.             font:inherit;
  1425.             padding:9.5px 10px;
  1426.             border:1px solid #09860d;
  1427.             box-sizing: border-box;
  1428.             width: 250px;
  1429.             border-radius:2px;
  1430.         }
  1431.         
  1432.         .select {
  1433.           display: inline-block;
  1434.           position: relative;
  1435.           vertical-align: middle;
  1436.         }
  1437.         
  1438.         .select::before {
  1439.           position: absolute;
  1440.           top: 18px;
  1441.           right: 16px;
  1442.           width: 0;
  1443.           height: 0;
  1444.           border-width: 10px 5px 0 5px;
  1445.           border-style: solid;
  1446.           border-color: #09860d transparent transparent transparent;
  1447.           content: \"\";
  1448.           pointer-events: none;
  1449.         }
  1450.     </style>
  1451. {% endblock %}
  1452. {% set body_class = 'product_page' %}
  1453. {% block javascript %}
  1454.     <script>
  1455.         eccube.productsClassCategories = {
  1456.             {% for Product in pagination %}
  1457.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  1458.             {% endfor %}
  1459.         };
  1460.         \$(function() {
  1461.             // 表示件数を変更
  1462.             \$('.disp-number').change(function() {
  1463.                 var dispNumber = \$(this).val();
  1464.                 \$('#disp_number').val(dispNumber);
  1465.                 \$('#pageno').val(1);
  1466.                 \$(\"#form1\").submit();
  1467.             });
  1468.             // // 並び順を変更
  1469.             \$('.order-by').change(function() {
  1470.                 var orderBy = \$(this).val();
  1471.                 \$('#orderby').val(orderBy);
  1472.                 \$('#pageno').val(1);
  1473.                 \$(\"#form1\").submit();
  1474.             });
  1475.             \$('.add-cart').on('click', function(e) {
  1476.                 var \$form = \$(this).parents('li').find('form');
  1477.                 // 個数フォームのチェック
  1478.                 var \$quantity = \$form.parent().find('.quantity');
  1479.                 if (\$quantity.val() < 1) {
  1480.                     \$quantity[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1481.                     setTimeout(function() {
  1482.                         loadingOverlay('hide');
  1483.                     }, 100);
  1484.                     return true;
  1485.                 } else {
  1486.                     \$quantity[0].setCustomValidity('');
  1487.                 }
  1488.                 e.preventDefault();
  1489.                 \$.ajax({
  1490.                     url: \$form.attr('action'),
  1491.                     type: \$form.attr('method'),
  1492.                     data: \$form.serialize(),
  1493.                     dataType: 'json',
  1494.                     beforeSend: function(xhr, settings) {
  1495.                         // Buttonを無効にする
  1496.                         \$('.add-cart').prop('disabled', true);
  1497.                     }
  1498.                 }).done(function(data) {
  1499.                     // レスポンス内のメッセージをalertで表示
  1500.                     \$.each(data.messages, function() {
  1501.                         \$('#ec-modal-header').html(this);
  1502.                     });
  1503.                     \$('.ec-modal').show()
  1504.                     // カートブロックを更新する
  1505.                     \$.ajax({
  1506.                         url: '{{ url('block_cart') }}',
  1507.                         type: 'GET',
  1508.                         dataType: 'html'
  1509.                     }).done(function(html) {
  1510.                         \$('.ec-headerRole__cart').html(html);
  1511.                     });
  1512.                 }).fail(function(data) {
  1513.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1514.                 }).always(function(data) {
  1515.                     // Buttonを有効にする
  1516.                     \$('.add-cart').prop('disabled', false);
  1517.                 });
  1518.             });
  1519.         });
  1520.         \$('.ec-modal-wrap').on('click', function(e) {
  1521.             // モーダル内の処理は外側にバブリングさせない
  1522.             e.stopPropagation();
  1523.         });
  1524.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  1525.             \$('.ec-modal').hide()
  1526.         });
  1527.         
  1528.     </script>
  1529.     <script>
  1530.     //  絞り込み検索は、絞り込み検索ボタンが押されたとき、もしくは入力欄にフォーカスされたときに、
  1531.     //  enterを押したときのみ発動する。カテゴリ検索を押したときは発火させない
  1532.         document.addEventListener('DOMContentLoaded', function () {
  1533.             const form = document.querySelector('.tab');
  1534.             const categoryBtn = form.querySelector('button[name=\"search_parent_id\"]:not(.word-search)');
  1535.             const wordBtn = form.querySelector('.category-btn.word-search');
  1536.             const wordInput = form.querySelector('input.search-form-input');
  1537.         
  1538.             // カテゴリ検索 → name を送らせない
  1539.             categoryBtn.addEventListener('click', function () {
  1540.                 if (wordInput) {
  1541.                     wordInput.disabled = true;
  1542.                 }
  1543.             });
  1544.         
  1545.             // 絞り込み検索 → name を有効化
  1546.             wordBtn?.addEventListener('click', function () {
  1547.                 if (wordInput) {
  1548.                     wordInput.disabled = false;
  1549.                 }
  1550.             });
  1551.         
  1552.             // Enterキーで submit 時に絞り込み検索の値を送信するための hidden input 挿入
  1553.             form.addEventListener('submit', function (e) {
  1554.                 if (document.activeElement === wordInput) {
  1555.                     e.preventDefault();
  1556.         
  1557.                     // 既に存在していたら除去(2重防止)
  1558.                     const existingHidden = form.querySelector('input[name=\"search_parent_id\"].auto-injected');
  1559.                     if (existingHidden) {
  1560.                         existingHidden.remove();
  1561.                     }
  1562.         
  1563.                     // ボタンのvalue属性をそのまま使う
  1564.                     const valueFromButton = wordBtn?.getAttribute('value') || '';
  1565.         
  1566.                     const hidden = document.createElement('input');
  1567.                     hidden.type = 'hidden';
  1568.                     hidden.name = 'search_parent_id';
  1569.                     hidden.value = valueFromButton;
  1570.                     hidden.classList.add('auto-injected');
  1571.                     form.appendChild(hidden);
  1572.                     if (wordInput) {
  1573.                         wordInput.disabled = false;
  1574.                     }
  1575.                     form.submit();
  1576.                 }
  1577.             });
  1578.         });
  1579.         
  1580.         // カテゴリの詳細検索に値が入っていない場合、buttonのnameの値をcategory_idに変更する
  1581.         document.addEventListener('DOMContentLoaded', function () {
  1582.             const form = document.querySelector('.tab');
  1583.             const submitBtn = form.querySelector('button.category-btn');
  1584.             const categorySelects = form.querySelectorAll('select[name=\"category_ids[]\"]');
  1585.         
  1586.             form.addEventListener('submit', function (e) {
  1587.                 // category_ids[] に選択されている値が1つもない場合、ボタンのnameを変更
  1588.                 const hasValue = Array.from(categorySelects).some(select => select.value && select.value !== '');
  1589.         
  1590.                 if (!hasValue) {
  1591.                     submitBtn.setAttribute('name', 'category_id');
  1592.                 } else {
  1593.                     submitBtn.setAttribute('name', 'search_parent_id');
  1594.                 }
  1595.             });
  1596.         });
  1597.     </script>
  1598. {% endblock %}
  1599. {% block main %}
  1600.     {% set AllCategories = repository('Eccube\\\\Entity\\\\Category').getList() %}
  1601.     {% set Categories = AllCategories|filter(c => c.id is not null and c.id == 1) %}
  1602.     {% set selected_categories = app.request.query.get('category_ids', []) %}
  1603.     {% set parent_category = app.request.query.get('search_parent_id') %}
  1604.     {#パンくず#}
  1605.         <div class=\"ec-searchnavRole__topicpath\">
  1606.             <ol class=\"ec-topicpath\">
  1607.                 <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ 'front.product.all_category'|trans }}</a>
  1608.                 </li>
  1609.                 {% if Category is not null %}
  1610.                     {% for Path in Category.path %}
  1611.                         {% if not loop.first %} 
  1612.                             <li class=\"ec-topicpath__divider\">></li>
  1613.                             <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\">
  1614.                                 <a href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  1615.                             </li>
  1616.                         {% endif %}
  1617.                     {% endfor %}
  1618.                 {% endif %}
  1619.                 {% if selected_categories %}
  1620.                 {% set first_matched = true %}
  1621.     \t\t        {% for Category in Categories %}
  1622.     \t\t            {% for children in Category.Children %}
  1623.             \t\t        {% if children.id == parent_category %}
  1624.             \t\t            <li class=\"ec-topicpath__divider\">></li>
  1625.             \t\t            <li><a href=\"{{ url('product_list') }}?category_id={{ children.id }}\">{{ children.name }}</a></li>
  1626.             \t\t        {% endif %}
  1627.             \t\t            {% for grandChildren in children.Children %}
  1628.                                     {% for grandgrandChild in grandChildren.Children %}
  1629.                                         {% if grandgrandChild.id in selected_categories %}
  1630.                                             {% if first_matched %}
  1631.                                                 <li class=\"ec-topicpath__divider\">></li>
  1632.                                                 <li><a href=\"{{ url('product_list') }}?category_ids[]={{ grandgrandChild.id }}&search_parent_id={{parent_category}}\">{{ grandgrandChild.name }}</a></li>
  1633.                                                 {% set first_matched = false %}
  1634.                                             {% else %}
  1635.                                                 <li><a href=\"{{ url('product_list') }}?category_ids[]={{ grandgrandChild.id }}&search_parent_id={{parent_category}}\">・{{ grandgrandChild.name }}</a></li>
  1636.                                             {% endif %}
  1637.                                         {% endif %}
  1638.                                     {% endfor %}
  1639.                                 {% endfor %}
  1640.                             {% endfor %}
  1641.                     {% endfor %}
  1642.                 {% endif %}
  1643.                 {% if search_form.vars.value.name %}
  1644.                     <li class=\"ec-topicpath__divider\">></li>
  1645.                     <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}?name={{ search_form.vars.value.name }}\">{{ search_form.vars.value.name }}</a></li>
  1646.                 {% endif %}
  1647.             </ol>
  1648.         </div>
  1649.     <!-- カテゴリ検索 -->
  1650.     {% if app.request.query.get('category_id') or app.request.query.get('search_parent_id') %}
  1651.         <form action=\"{{ url('product_list') }}\" method=\"get\" class=\"tab\" >
  1652.             <ul class=\"tab-list\">
  1653.                 {% for tab in Categories%}
  1654.                     {% for children in tab.Children %}
  1655.                         {% set children_ids = [] %}
  1656.                         {% for grandChild in children.Children %}
  1657.                             {% set children_ids = children_ids|merge([grandChild.id]) %}
  1658.                         {% endfor %}
  1659.                             {% if children.id == app.request.query.get('category_id')
  1660.                             or children.id == app.request.query.get('search_parent_id')
  1661.                             or app.request.query.get('category_id') in children_ids
  1662.                             %}
  1663.                                 <li class=\"tab-item active\" tabindex=\"0\" id=\"{{children.id}}\">
  1664.                                     <a href=\"{{ url('product_list', {'category_id': children.id}) }}\">{{children.name}}</a>
  1665.                                 </li>
  1666.                             {% else %}
  1667.                                 <li class=\"tab-item\" tabindex=\"0\" id=\"{{children.id}}\">
  1668.                                     <a href=\"{{ url('product_list', {'category_id': children.id}) }}\">{{children.name}}</a>
  1669.                                 </li>
  1670.                             {% endif %}
  1671.                     {% endfor %}
  1672.                 {% endfor %}
  1673.             </ul>
  1674.             <div class=\"tab-content\" id=\"category-form\">
  1675.                 {% for Category in Categories%}
  1676.                     {% for children in Category.Children %}
  1677.                         {% set children_ids = [] %}
  1678.                         {% for grandChild in children.Children %}
  1679.                             {% set children_ids = children_ids|merge([grandChild.id]) %}
  1680.                         {% endfor %}
  1681.                         {% if (children.id == app.request.query.get('category_id')
  1682.                         or children.id == app.request.query.get('search_parent_id')
  1683.                         or app.request.query.get('category_id') in children_ids)
  1684.                         and children.Children is not empty
  1685.                         %}
  1686.                             <div class=\"tab-panel active\">
  1687.                                     {% for grandChild in children.Children%}
  1688.                                     <div class=select>
  1689.                                         <select name=\"category_ids[]\">
  1690.                                             <option value=\"\">{{grandChild.name}}から選択</option>
  1691.                                                 {% for grandgrandchild in grandChild.Children %}
  1692.                                                     <option value=\"{{grandgrandchild.id}}\"
  1693.                                                         {% if grandgrandchild.id in selected_categories %}
  1694.                                                             selected
  1695.                                                         {% endif %}
  1696.                                                     >{{grandgrandchild.name}}</option>
  1697.                                                 {% endfor %}
  1698.                                         </select>
  1699.                                     </div>
  1700.                                     {% endfor %}
  1701.                             </div>
  1702.                             <button type=\"submit\" class=\"category-btn\" name=\"search_parent_id\"
  1703.                             {% if app.request.query.get('category_id') or app.request.query.get('search_parent_id') %}
  1704.                             value=\"{{ app.request.query.get('category_id') ?: app.request.query.get('search_parent_id') }}\"
  1705.                             >
  1706.                             {% endif %}
  1707.                                 <img src=\"{{ asset('/html/user_data/assets/icon/btn_ic_search.svg ', 'user_data') }}\" alt=\"お気に入り\">
  1708.                                 カテゴリ検索
  1709.                             </button>
  1710.                         {% else %}
  1711.                             <div class=\"tab-panel\"></div>
  1712.                         {% endif %}
  1713.                     {% endfor %}
  1714.                 {% endfor %}
  1715.             </div>
  1716.             <div class=\"search-form-box\">
  1717.                 <div class=\"search-form-content\">
  1718.                     <div class=\"search-form-item\">
  1719.                         <input type=\"text\" name=\"name\" class=\"search-form-input\"
  1720.                         placeholder=\"カテゴリから絞り込み\"
  1721.                         {% if search_form.vars.value.name
  1722.                         and (app.request.query.get('search_parent_id') is not empty or app.request.query.get('category_id') is not empty) %}
  1723.                         value=\"{{ search_form.vars.value.name }}\"
  1724.                         {% endif %}
  1725.                         >
  1726.                     </div>
  1727.                     <button type=\"submit\" class=\"category-btn word-search\" name=\"search_parent_id\"
  1728.                         {% if app.request.query.get('category_id') or app.request.query.get('search_parent_id') %}
  1729.                         value=\"{{ app.request.query.get('category_id') ?: app.request.query.get('search_parent_id') }}\"
  1730.                         >
  1731.                         {% endif%}
  1732.                         <img src=\"{{ asset('/html/user_data/assets/icon/btn_ic_search.svg ', 'user_data') }}\" alt=\"お気に入り\">
  1733.                         絞り込み検索
  1734.                     </button>
  1735.                 </div>
  1736.             </div>
  1737.         </form>
  1738.     {% endif %}
  1739. <section class=\"contents-list\">
  1740. \t<!-- 商品リスト -->
  1741. \t<div class=\"list-view\">
  1742. \t\t<div class=\"list-title\">
  1743. \t\t        {#カテゴリが存在しない(全体検索の場合)#}
  1744.                 {% if search_form.vars.value.name
  1745.                 and app.request.query.get('category_id') is empty
  1746.                 and app.request.query.get('search_parent_id') is empty%}
  1747.                     <h2 class=\"ec-topicpath__item\">「{{ search_form.vars.value.name }}」で検索</h2>
  1748.                 {% endif %}
  1749.                 
  1750.                 {#カテゴリが存在する場合(単純にカテゴリナビから言った場合など)#}
  1751. \t\t        {% if Category is not null %}
  1752.                     <h2 class=\"ec-topicpath__item\">{{ Category.name }}</h2>
  1753.                     {% if search_form.vars.value.name %}
  1754.                         <p class=\"ec-topicpath__item\">> {{ search_form.vars.value.name }}</p>
  1755.                     {% endif %}
  1756.                 {% endif %}
  1757.                 {#カテゴリの詳細検索を使った場合#}
  1758.                 {% if selected_categories %}
  1759.                 {% set first_matched = true %}
  1760.     \t\t        {% for firstCategory in Categories %}
  1761.     \t\t            {% for Category in firstCategory.Children %}
  1762.         \t\t        {% if Category.id == parent_category %}
  1763.         \t\t            <h2 class=\"ec-topicpath__item\">{{ Category.name }}</h2>
  1764.         \t\t        {% endif %}
  1765.         \t\t            {% for Child in Category.Children %}
  1766.                                 {% for GrandChildren in Child.Children %}
  1767.                                     {% if GrandChildren.id in selected_categories %}
  1768.                                         {% if first_matched %}
  1769.                                             <p class=\"ec-topicpath__item\">> {{ GrandChildren.name }}</p>
  1770.                                             {% set first_matched = false %}
  1771.                                         {% else %}
  1772.                                             <p class=\"ec-topicpath__item\">・ {{ GrandChildren.name }}</p>
  1773.                                         {% endif %}
  1774.                                     {% endif %}
  1775.                                 {% endfor %}
  1776.                             {% endfor %}
  1777.                         {% endfor %}
  1778.                     {% endfor %}
  1779.                     {% if search_form.vars.value.name %}
  1780.                         <p class=\"ec-topicpath__item\">> {{ search_form.vars.value.name }}</p>
  1781.                     {% endif %}
  1782.                 {% endif %}
  1783. \t\t\t\t{% if pagination.totalItemCount > 0 %}
  1784.                     {{ '<p>(%count%冊)</p>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  1785.                 {% else %}
  1786.                     <p>{{ 'お探しの商品は見つかりませんでした'|trans }}</p>
  1787.                 {% endif %}
  1788. \t\t</div> 
  1789. \t\t<!-- リストエリア -->
  1790. \t\t{% if pagination.totalItemCount|length > 0 %}
  1791. \t\t\t<div>
  1792. \t\t\t    <div class=\"list-area\">
  1793. \t\t\t    {% for Product in pagination %}
  1794.                     <div class=\"card-1\">
  1795.                         <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  1796.                             <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" {% if loop.index > 5 %} loading=\"lazy\"{% endif %}>
  1797.                             <h3>{{ Product.name }}</h3>
  1798.                             <p class=\"price02-default\">
  1799.                                 {{ Product.getPrice02IncTaxMin|price }}<span class=\"tax\">(税込)</span>
  1800.                             </p>
  1801.                         </a>
  1802.                     </div>
  1803.                 {% endfor %}
  1804.                 </div>
  1805.     \t\t\t<!-- ページネーション -->
  1806.     \t\t\t{% set pages = pagination.paginationData %}
  1807.     \t\t\t{% if pages.pageCount > 1 %}
  1808.                     <div class=\"ec-pager pagination\">
  1809.                         {# 前へ #}
  1810.                         {% if pages.previous is defined %}
  1811.                             <a class=\"page-return\" href=\"{{ path(
  1812.                             app.request.attributes.get('_route'),
  1813.                             app.request.query.all|merge({'pageno': pages.previous})) }}\">←</a>
  1814.                         {% endif %}
  1815.                         <div class=\"page-num\">
  1816.                             {% for page in pages.pagesInRange %}
  1817.                                 {% if page == pages.current %}
  1818.                                     <a class=\"active\" href=\"{{ path(
  1819.                                         app.request.attributes.get('_route'),
  1820.                                         app.request.query.all|merge({'pageno': page})) }}\"> {{ page }} </a>
  1821.                                 {% else %}
  1822.                                     <a href=\"{{ path(
  1823.                                         app.request.attributes.get('_route'),
  1824.                                         app.request.query.all|merge({'pageno': page})) }}\"> {{ page }} </a>
  1825.                                 {% endif %}
  1826.                             {% endfor %}
  1827.                         </div>
  1828.                         {# 次へ #}
  1829.                         {% if pages.next is defined %}
  1830.                             <a class=\"page-advance\" href=\"{{ path(
  1831.                             app.request.attributes.get('_route'),
  1832.                             app.request.query.all|merge({'pageno': pages.next})) }}\">→</a>
  1833.                         {% endif %}
  1834.                     </div>
  1835.                 {% endif %}
  1836.     \t    </div>
  1837.         {% endif %}
  1838.     </div>
  1839.             
  1840. </section>
  1841. {% endblock %}""Product/list.twig""/home/photo-pub/www/photo-pub.com/app/template/default/Product/list.twig");
  1842.     }
  1843. }