var/cache/dev/twig/6a/6a9f015d259fd08673a6f179e0780860f93a806e9a9ff150014534711a8a9fba.php line 39

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_3e45a0d171e8c00d34bccb2b7057da454cd3ce5a86481d60fa1a7535f9ef64a0 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.             'javascript' => [$this'block_javascript'],
  24.             'main' => [$this'block_main'],
  25.         ];
  26.     }
  27.     protected function doGetParent(array $context)
  28.     {
  29.         // line 11
  30.         return "default_frame.twig";
  31.     }
  32.     protected function doDisplay(array $context, array $blocks = [])
  33.     {
  34.         $macros $this->macros;
  35.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  37.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  39.         // line 13
  40.         $context["body_class"] = "product_page product_list";
  41.         // line 11
  42.         $this->parent $this->loadTemplate("default_frame.twig""Product/list.twig"11);
  43.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  44.         
  45.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  46.         
  47.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  48.     }
  49.     // line 15
  50.     public function block_javascript($context, array $blocks = [])
  51.     {
  52.         $macros $this->macros;
  53.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  55.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  57.         // line 16
  58.         echo "    <script>
  59.         eccube.productsClassCategories = {
  60.             ";
  61.         // line 18
  62.         $context['_parent'] = $context;
  63.         $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'18$this->source); })()));
  64.         $context['loop'] = [
  65.           'parent' => $context['_parent'],
  66.           'index0' => 0,
  67.           'index'  => 1,
  68.           'first'  => true,
  69.         ];
  70.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  71.             $length count($context['_seq']);
  72.             $context['loop']['revindex0'] = $length 1;
  73.             $context['loop']['revindex'] = $length;
  74.             $context['loop']['length'] = $length;
  75.             $context['loop']['last'] = === $length;
  76.         }
  77.         foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  78.             // line 19
  79.             echo "            \"";
  80.             echo twig_escape_filter($this->envtwig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse19), "js"), "html"nulltrue);
  81.             echo "\": ";
  82.             echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($context["Product"]);
  83.             if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse19) == false)) {
  84.                 echo ", ";
  85.             }
  86.             // line 20
  87.             echo "            ";
  88.             ++$context['loop']['index0'];
  89.             ++$context['loop']['index'];
  90.             $context['loop']['first'] = false;
  91.             if (isset($context['loop']['length'])) {
  92.                 --$context['loop']['revindex0'];
  93.                 --$context['loop']['revindex'];
  94.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  95.             }
  96.         }
  97.         $_parent $context['_parent'];
  98.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  99.         $context array_intersect_key($context$_parent) + $_parent;
  100.         // line 21
  101.         echo "        };
  102.         \$(function() {
  103.             // 表示件数を変更
  104.             \$('.disp-number').change(function() {
  105.                 var dispNumber = \$(this).val();
  106.                 \$('#disp_number').val(dispNumber);
  107.                 \$('#pageno').val(1);
  108.                 \$(\"#form1\").submit();
  109.             });
  110.             // 並び順を変更
  111.             \$('.order-by').change(function() {
  112.                 var orderBy = \$(this).val();
  113.                 \$('#orderby').val(orderBy);
  114.                 \$('#pageno').val(1);
  115.                 \$(\"#form1\").submit();
  116.             });
  117.             
  118.             // 複数カテゴリ検索用のパラメータ
  119.             \$('#search1').on('submit', function(){
  120.               var category = [];
  121.               \$('.category_ids:checked').each(function(){
  122.                 category.push(\$(this).val());
  123.               });
  124.               
  125.               var brand = [];
  126.               \$('.brand_ids:checked').each(function(){
  127.                 brand.push(\$(this).val());
  128.               });
  129.               
  130.               var taste = [];
  131.               \$('.taste_ids:checked').each(function(){
  132.                 taste.push(\$(this).val());
  133.               });
  134.               \$('[name=category_ids]').val(category.join('-'));
  135.               \$('[name=brand_ids]').val(brand.join('-'));
  136.               \$('[name=taste_ids]').val(taste.join('-'));
  137.               
  138.             });
  139.             
  140.             //
  141.             \$('.search_modal_open').on('click', function(){
  142.               \$('.search_modal_wrap').addClass('on');
  143.             });
  144.             \$('.search_modal_close').on('click', function(){
  145.               \$('.search_modal_wrap').removeClass('on');
  146.             });
  147.             
  148.             // 
  149.             \$('.search_modal .accordion dt').on('click', function(){
  150.               
  151.               \$(this).toggleClass('on');
  152.               
  153.             });
  154.             
  155.             
  156.             \$('.add-cart').on('click', function(e) {
  157.                 var \$form = \$(this).parents('li').find('form');
  158.                 // 個数フォームのチェック
  159.                 var \$quantity = \$form.parent().find('.quantity');
  160.                 if (\$quantity.val() < 1) {
  161.                     \$quantity[0].setCustomValidity('";
  162.         // line 88
  163.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  164.         echo "');
  165.                     setTimeout(function() {
  166.                         loadingOverlay('hide');
  167.                     }, 100);
  168.                     return true;
  169.                 } else {
  170.                     \$quantity[0].setCustomValidity('');
  171.                 }
  172.                 e.preventDefault();
  173.                 \$.ajax({
  174.                     url: \$form.attr('action'),
  175.                     type: \$form.attr('method'),
  176.                     data: \$form.serialize(),
  177.                     dataType: 'json',
  178.                     beforeSend: function(xhr, settings) {
  179.                         // Buttonを無効にする
  180.                         \$('.add-cart').prop('disabled', true);
  181.                     }
  182.                 }).done(function(data) {
  183.                     // レスポンス内のメッセージをalertで表示
  184.                     \$.each(data.messages, function() {
  185.                         \$('#ec-modal-header').html(this);
  186.                     });
  187.                     \$('.ec-modal').show()
  188.                     // カートブロックを更新する
  189.                     \$.ajax({
  190.                         url: '";
  191.         // line 116
  192.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  193.         echo "',
  194.                         type: 'GET',
  195.                         dataType: 'html'
  196.                     }).done(function(html) {
  197.                         \$('.ec-headerRole__cart').html(html);
  198.                     });
  199.                 }).fail(function(data) {
  200.                     alert('";
  201.         // line 123
  202.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  203.         echo "');
  204.                 }).always(function(data) {
  205.                     // Buttonを有効にする
  206.                     \$('.add-cart').prop('disabled', false);
  207.                 });
  208.             });
  209.         });
  210.         \$('.ec-modal-wrap').on('click', function(e) {
  211.             // モーダル内の処理は外側にバブリングさせない
  212.             e.stopPropagation();
  213.         });
  214.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  215.             \$('.ec-modal').hide()
  216.         });
  217.     </script>
  218. ";
  219.         
  220.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  221.         
  222.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  223.     }
  224.     // line 141
  225.     public function block_main($context, array $blocks = [])
  226.     {
  227.         $macros $this->macros;
  228.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  229.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  230.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  231.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  232.         // line 142
  233.         echo "    ";
  234.         if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, ($context["search_form"] ?? null), "vars", [], "any"falsetruefalse142), "value", [], "any"falsetruefalse142), "category_id", [], "any"falsetruefalse142), "id", [], "any"truetruefalse142)) {
  235.             // line 143
  236.             echo "    ";
  237.             echo twig_include($this->env$context, (("Block/category" twig_get_attribute($this->env$this->sourcetwig_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.'143$this->source); })()), "vars", [], "any"falsefalsefalse143), "value", [], "any"falsefalsefalse143), "category_id", [], "any"falsefalsefalse143), "id", [], "any"falsefalsefalse143)) . ".twig"), array(), truetrue);
  238.             echo "
  239.     ";
  240.         }
  241.         // line 145
  242.         echo "    ";
  243.         if ((twig_length_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.'145$this->source); })()), "category_id", [], "any"falsefalsefalse145), "vars", [], "any"falsefalsefalse145), "errors", [], "any"falsefalsefalse145)) > 0)) {
  244.             // line 146
  245.             echo "        <div class=\"ec-searchnavRole\">
  246.             <p class=\"errormsg text-danger\">";
  247.             // line 147
  248.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html"nulltrue);
  249.             echo "</p>
  250.         </div>
  251.     ";
  252.         } else {
  253.             // line 150
  254.             echo "        <div class=\"ec-searchnavRole\">
  255.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  256.                 ";
  257.             // line 152
  258.             $context['_parent'] = $context;
  259.             $context['_seq'] = twig_ensure_traversable((isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'152$this->source); })()));
  260.             foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  261.                 // line 153
  262.                 echo "                    <input type=\"hidden\" id=\"";
  263.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse153), "id", [], "any"falsefalsefalse153), "html"nulltrue);
  264.                 echo "\"
  265.                            name=\"";
  266.                 // line 154
  267.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse154), "full_name", [], "any"falsefalsefalse154), "html"nulltrue);
  268.                 echo "\"
  269.                            ";
  270.                 // line 155
  271.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse155), "value", [], "any"falsefalsefalse155))) {
  272.                     echo "value=\"";
  273.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse155), "value", [], "any"falsefalsefalse155), "html"nulltrue);
  274.                     echo "\" ";
  275.                 }
  276.                 echo "/>
  277.                 ";
  278.             }
  279.             $_parent $context['_parent'];
  280.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  281.             $context array_intersect_key($context$_parent) + $_parent;
  282.             // line 157
  283.             echo "            </form>
  284.             
  285.             <div class=\"search_params_wrap\">
  286.               <div class=\"box1\">
  287.                 <div class=\"title\">現在の検索条件</div>
  288.                 <ul class=\"params\">
  289.                   ";
  290.             // line 163
  291.             $context['_parent'] = $context;
  292.             $context['_seq'] = twig_ensure_traversable((isset($context["s_search"]) || array_key_exists("s_search"$context) ? $context["s_search"] : (function () { throw new RuntimeError('Variable "s_search" does not exist.'163$this->source); })()));
  293.             foreach ($context['_seq'] as $context["_key"] => $context["dat"]) {
  294.                 // line 164
  295.                 echo "                    <li><a href=\"";
  296.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["dat"], "link", [], "any"falsefalsefalse164), "html"nulltrue);
  297.                 echo "\"><i class=\"fa-solid fa-xmark\"></i>";
  298.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["dat"], "name", [], "any"falsefalsefalse164), "html"nulltrue);
  299.                 echo "</a></li>
  300.                   ";
  301.             }
  302.             $_parent $context['_parent'];
  303.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['dat'], $context['_parent'], $context['loop']);
  304.             $context array_intersect_key($context$_parent) + $_parent;
  305.             // line 166
  306.             echo "                </ul>  
  307.               </div>
  308.               <div class=\"box2\">
  309.                 <div class=\"search_btn\">
  310.                   <a href=\"javascript:void(0);\" class=\"search_modal_open\">商品を絞り込む</a>
  311.                 </div>
  312.               </div>
  313.             </div>
  314.               
  315.             <div class=\"\">
  316.             </div>
  317.                 
  318.             ";
  319.             // line 199
  320.             echo "                
  321.                 
  322.             <div class=\"ec-searchnavRole__infos\">
  323.                 <div class=\"ec-searchnavRole__counter\">
  324.                     ";
  325.             // line 203
  326.             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.'203$this->source); })()), "totalItemCount", [], "any"falsefalsefalse203) > 0)) {
  327.                 // line 204
  328.                 echo "                        ";
  329.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<span class=\"ec-font-bold\">%count%件</span><span>の商品が見つかりました</span>", ["%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.'204$this->source); })()), "totalItemCount", [], "any"falsefalsefalse204)]);
  330.                 echo "
  331.                     ";
  332.             } else {
  333.                 // line 206
  334.                 echo "                        <span>";
  335.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html"nulltrue);
  336.                 echo "</span>
  337.                     ";
  338.             }
  339.             // line 208
  340.             echo "                </div>
  341.                 ";
  342.             // line 209
  343.             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.'209$this->source); })()), "totalItemCount", [], "any"falsefalsefalse209) > 0)) {
  344.                 // line 210
  345.                 echo "                    <div class=\"ec-searchnavRole__actions\">
  346.                         <div class=\"ec-select\">
  347.                             ";
  348.                 // line 212
  349.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["disp_number_form"]) || array_key_exists("disp_number_form"$context) ? $context["disp_number_form"] : (function () { throw new RuntimeError('Variable "disp_number_form" does not exist.'212$this->source); })()), 'widget', ["id" => """attr" => ["class" => "disp-number"]]);
  350.                 echo "
  351.                             ";
  352.                 // line 213
  353.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["order_by_form"]) || array_key_exists("order_by_form"$context) ? $context["order_by_form"] : (function () { throw new RuntimeError('Variable "order_by_form" does not exist.'213$this->source); })()), 'widget', ["id" => """attr" => ["class" => "order-by"]]);
  354.                 echo "
  355.                         </div>
  356.                     </div>
  357.                 ";
  358.             }
  359.             // line 217
  360.             echo "            </div>
  361.         </div>
  362.         ";
  363.             // line 219
  364.             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.'219$this->source); })()), "totalItemCount", [], "any"falsefalsefalse219) > 0)) {
  365.                 // line 220
  366.                 echo "            <div class=\"ec-shelfRole\">
  367.                 <ul class=\"ec-shelfGrid\">
  368.                     ";
  369.                 // line 222
  370.                 $context['_parent'] = $context;
  371.                 $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'222$this->source); })()));
  372.                 $context['loop'] = [
  373.                   'parent' => $context['_parent'],
  374.                   'index0' => 0,
  375.                   'index'  => 1,
  376.                   'first'  => true,
  377.                 ];
  378.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  379.                     $length count($context['_seq']);
  380.                     $context['loop']['revindex0'] = $length 1;
  381.                     $context['loop']['revindex'] = $length;
  382.                     $context['loop']['length'] = $length;
  383.                     $context['loop']['last'] = === $length;
  384.                 }
  385.                 foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  386.                     // line 223
  387.                     echo "                        <li class=\"ec-shelfGrid__item\">
  388.                             <a href=\"";
  389.                     // line 224
  390.                     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"falsefalsefalse224)]), "html"nulltrue);
  391.                     echo "\">
  392.                                 <div class=\"ec-shelfGrid__item-image\">
  393.                                     <img src=\"";
  394.                     // line 226
  395.                     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"falsefalsefalse226)), "save_image"), "html"nulltrue);
  396.                     echo "\" alt=\"";
  397.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsefalse226), "html"nulltrue);
  398.                     echo "\" loading=\"lazy\">
  399.                                     <ul class=\"color-list\">
  400.                                       ";
  401.                     // line 228
  402.                     echo twig_get_attribute($this->env$this->source$context["Product"], "getColorsHTML", [], "any"falsefalsefalse228);
  403.                     echo "
  404.                                     </ul>
  405.                                     ";
  406.                     // line 230
  407.                     if ((twig_get_attribute($this->env$this->source$context["Product"], "stock_find", [], "any"falsefalsefalse230) == false)) {
  408.                         // line 231
  409.                         echo "                                      <p class=\"list_soldout\">sold out</p>
  410.                                     ";
  411.                     }
  412.                     // line 233
  413.                     echo "                                    ";
  414.                     echo twig_get_attribute($this->env$this->source$context["Product"], "getSaleIcon", [], "any"falsefalsefalse233);
  415.                     echo "
  416.                                 </div>
  417.                                 ";
  418.                     // line 242
  419.                     echo "                                ";
  420.                     echo twig_include($this->env$context"@DesignTag4/tag_list.twig", array(), truetrue);
  421.                     echo "
  422.                                 <p class=\"ec-shelfGrid__item-name\">";
  423.                     // line 243
  424.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsefalse243), "html"nulltrue);
  425.                     echo "</p>
  426.                                 ";
  427.                     // line 244
  428.                     if (twig_get_attribute($this->env$this->source$context["Product"], "description_list", [], "any"falsefalsefalse244)) {
  429.                         // line 245
  430.                         echo "                                    <p>";
  431.                         echo twig_nl2br(twig_get_attribute($this->env$this->source$context["Product"], "description_list", [], "any"falsefalsefalse245));
  432.                         echo "</p>
  433.                                 ";
  434.                     }
  435.                     // line 247
  436.                     echo "                                <p class=\"price02-default\">
  437.                                     ";
  438.                     // line 248
  439.                     if (twig_get_attribute($this->env$this->source$context["Product"], "hasProductClass", [], "any"falsefalsefalse248)) {
  440.                         // line 249
  441.                         echo "                                        ";
  442.                         if ((twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Min", [], "any"falsefalsefalse249) == twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Max", [], "any"falsefalsefalse249))) {
  443.                             // line 250
  444.                             echo "                                            ";
  445.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsefalse250)), "html"nulltrue);
  446.                             echo "
  447.                                         ";
  448.                         } else {
  449.                             // line 252
  450.                             echo "                                            ";
  451.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsefalse252)), "html"nulltrue);
  452.                             echo " ~ ";
  453.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMax", [], "any"falsefalsefalse252)), "html"nulltrue);
  454.                             echo "
  455.                                         ";
  456.                         }
  457.                         // line 254
  458.                         echo "                                    ";
  459.                     } else {
  460.                         // line 255
  461.                         echo "                                        ";
  462.                         // line 256
  463.                         echo "                                        ";
  464.                         echo twig_get_attribute($this->env$this->source$context["Product"], "getSalePrice", [], "any"falsefalsefalse256);
  465.                         echo "
  466.                                     ";
  467.                     }
  468.                     // line 258
  469.                     echo "                                </p>
  470.                             </a>
  471.                         </li>
  472.                     ";
  473.                     ++$context['loop']['index0'];
  474.                     ++$context['loop']['index'];
  475.                     $context['loop']['first'] = false;
  476.                     if (isset($context['loop']['length'])) {
  477.                         --$context['loop']['revindex0'];
  478.                         --$context['loop']['revindex'];
  479.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  480.                     }
  481.                 }
  482.                 $_parent $context['_parent'];
  483.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  484.                 $context array_intersect_key($context$_parent) + $_parent;
  485.                 // line 262
  486.                 echo "                </ul>
  487.             </div>
  488.             <div class=\"ec-modal\">
  489.                 <div class=\"ec-modal-overlay\">
  490.                     <div class=\"ec-modal-wrap\">
  491.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  492.                 // line 267
  493.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  494.                 echo "\" alt=\"\"/></span></span>
  495.                         <div id=\"ec-modal-header\" class=\"text-center\">";
  496.                 // line 268
  497.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  498.                 echo "</div>
  499.                         <div class=\"ec-modal-box\">
  500.                             <div class=\"ec-role\">
  501.                                 <span class=\"ec-inlineBtn--cancel\">";
  502.                 // line 271
  503.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  504.                 echo "</span>
  505.                                 <a href=\"";
  506.                 // line 272
  507.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  508.                 echo "\" class=\"ec-inlineBtn--action\">";
  509.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  510.                 echo "</a>
  511.                             </div>
  512.                         </div>
  513.                     </div>
  514.                 </div>
  515.             </div>
  516.             <div class=\"ec-pagerRole\">
  517.                 ";
  518.                 // line 279
  519.                 $this->loadTemplate("pager.twig""Product/list.twig"279)->display(twig_array_merge($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.'279$this->source); })()), "paginationData", [], "any"falsefalsefalse279)]));
  520.                 // line 280
  521.                 echo "            </div>
  522.         ";
  523.             }
  524.             // line 282
  525.             echo "    ";
  526.         }
  527.         // line 283
  528.         echo "    
  529.     
  530.     <!------**** modal search ****------>
  531.       <div class=\"search_modal_wrap\">
  532.       <div class=\"search_modal\">
  533.           <div class=\"close_btn\"><a href=\"javascript:void(0);\" class=\"search_modal_close\"><i class=\"fas fa-times\"></i></a></div>
  534.           <form action=\"?\" method=\"get\" id=\"search1\">
  535.             
  536.             <div class=\"search_box\">
  537.               <h2>カテゴリ</h2>
  538.               <input type=\"hidden\" name=\"category_ids\" value=\"\">
  539.               <input type=\"hidden\" name=\"brand_ids\" value=\"\">
  540.               <input type=\"hidden\" name=\"taste_ids\" value=\"\">
  541.               ";
  542.         // line 297
  543.         $context["Categories"] = twig_get_attribute($this->env$this->sourcecall_user_func_array($this->env->getFunction('repository')->getCallable(), ["Eccube\\Entity\\Category"]), "getList", [], "method"falsefalsefalse297);
  544.         // line 298
  545.         echo "              ";
  546.         $context['_parent'] = $context;
  547.         $context['_seq'] = twig_ensure_traversable((isset($context["Categories"]) || array_key_exists("Categories"$context) ? $context["Categories"] : (function () { throw new RuntimeError('Variable "Categories" does not exist.'298$this->source); })()));
  548.         foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  549.             // line 299
  550.             echo "              <dl class=\"accordion\">
  551.                 <dt><img src=\"";
  552.             // line 300
  553.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/icons/"), "html"nulltrue);
  554.             echo "category";
  555.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse300), "html"nulltrue);
  556.             echo ".png\" alt=\"\" width=\"30\"><span>";
  557.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse300), "html"nulltrue);
  558.             echo "</span></dt>
  559.                 ";
  560.             // line 303
  561.             echo "                <dd>
  562.                   <ul class=\"checkbox\">
  563.                     ";
  564.             // line 305
  565.             $context["checked"] = ((twig_in_filter(twig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse305), (isset($context["s_category_ids"]) || array_key_exists("s_category_ids"$context) ? $context["s_category_ids"] : (function () { throw new RuntimeError('Variable "s_category_ids" does not exist.'305$this->source); })()))) ? ("checked") : (""));
  566.             // line 306
  567.             echo "                    <li><label><input type=\"checkbox\" class=\"category_ids\" value=\"";
  568.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse306), "html"nulltrue);
  569.             echo "\" ";
  570.             echo twig_escape_filter($this->env, (isset($context["checked"]) || array_key_exists("checked"$context) ? $context["checked"] : (function () { throw new RuntimeError('Variable "checked" does not exist.'306$this->source); })()), "html"nulltrue);
  571.             echo "><span>";
  572.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse306), "html"nulltrue);
  573.             echo "すべて</span></label></li><!--すべてを選択-->
  574.                     ";
  575.             // line 307
  576.             $context['_parent'] = $context;
  577.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["Category"], "children", [], "any"falsefalsefalse307));
  578.             foreach ($context['_seq'] as $context["_key"] => $context["ChildCategory"]) {
  579.                 // line 308
  580.                 echo "                      ";
  581.                 $context["checked"] = ((twig_in_filter(twig_get_attribute($this->env$this->source$context["ChildCategory"], "id", [], "any"falsefalsefalse308), (isset($context["s_category_ids"]) || array_key_exists("s_category_ids"$context) ? $context["s_category_ids"] : (function () { throw new RuntimeError('Variable "s_category_ids" does not exist.'308$this->source); })()))) ? ("checked") : (""));
  582.                 // line 309
  583.                 echo "                      <li><label><input type=\"checkbox\" class=\"category_ids\" value=\"";
  584.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["ChildCategory"], "id", [], "any"falsefalsefalse309), "html"nulltrue);
  585.                 echo "\" ";
  586.                 echo twig_escape_filter($this->env, (isset($context["checked"]) || array_key_exists("checked"$context) ? $context["checked"] : (function () { throw new RuntimeError('Variable "checked" does not exist.'309$this->source); })()), "html"nulltrue);
  587.                 echo "><span>";
  588.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["ChildCategory"], "name", [], "any"falsefalsefalse309), "html"nulltrue);
  589.                 echo "</span></label></li>
  590.                     ";
  591.             }
  592.             $_parent $context['_parent'];
  593.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ChildCategory'], $context['_parent'], $context['loop']);
  594.             $context array_intersect_key($context$_parent) + $_parent;
  595.             // line 311
  596.             echo "                  </ul>
  597.                 </dd>
  598.                 ";
  599.             // line 314
  600.             echo "              </dl>
  601.               ";
  602.         }
  603.         $_parent $context['_parent'];
  604.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  605.         $context array_intersect_key($context$_parent) + $_parent;
  606.         // line 316
  607.         echo "            </div>
  608.             <div class=\"search_box\">
  609.               <h2>ブランド</h2>
  610.               ";
  611.         // line 319
  612.         $context["Brands"] = twig_get_attribute($this->env$this->sourcecall_user_func_array($this->env->getFunction('repository')->getCallable(), ["Plugin\\BrandManager\\Entity\\Brand"]), "getList", [], "method"falsefalsefalse319);
  613.         // line 320
  614.         echo "              <dl class=\"accordion\">
  615.                 <ul class=\"checkbox\">
  616.                   ";
  617.         // line 322
  618.         $context['_parent'] = $context;
  619.         $context['_seq'] = twig_ensure_traversable((isset($context["Brands"]) || array_key_exists("Brands"$context) ? $context["Brands"] : (function () { throw new RuntimeError('Variable "Brands" does not exist.'322$this->source); })()));
  620.         foreach ($context['_seq'] as $context["_key"] => $context["Brand"]) {
  621.             // line 323
  622.             echo "                    ";
  623.             $context["checked"] = ((twig_in_filter(twig_get_attribute($this->env$this->source$context["Brand"], "id", [], "any"falsefalsefalse323), (isset($context["s_brand_ids"]) || array_key_exists("s_brand_ids"$context) ? $context["s_brand_ids"] : (function () { throw new RuntimeError('Variable "s_brand_ids" does not exist.'323$this->source); })()))) ? ("checked") : (""));
  624.             // line 324
  625.             echo "                    <li><label><input type=\"checkbox\" class=\"brand_ids\" value=\"";
  626.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Brand"], "id", [], "any"falsefalsefalse324), "html"nulltrue);
  627.             echo "\" ";
  628.             echo twig_escape_filter($this->env, (isset($context["checked"]) || array_key_exists("checked"$context) ? $context["checked"] : (function () { throw new RuntimeError('Variable "checked" does not exist.'324$this->source); })()), "html"nulltrue);
  629.             echo "><span>";
  630.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Brand"], "name", [], "any"falsefalsefalse324), "html"nulltrue);
  631.             echo "</span></label></li>
  632.                   ";
  633.         }
  634.         $_parent $context['_parent'];
  635.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Brand'], $context['_parent'], $context['loop']);
  636.         $context array_intersect_key($context$_parent) + $_parent;
  637.         // line 326
  638.         echo "                </ul>
  639.               </dl>
  640.             </div>
  641.             <div class=\"search_box\">
  642.               <h2>テイスト</h2>
  643.               ";
  644.         // line 331
  645.         $context["Tastes"] = twig_get_attribute($this->env$this->sourcecall_user_func_array($this->env->getFunction('repository')->getCallable(), ["Plugin\\TasteManager\\Entity\\Taste"]), "getList", [], "method"falsefalsefalse331);
  646.         // line 332
  647.         echo "              <dl class=\"accordion\">
  648.                 <ul class=\"checkbox\">
  649.                   ";
  650.         // line 334
  651.         $context['_parent'] = $context;
  652.         $context['_seq'] = twig_ensure_traversable((isset($context["Tastes"]) || array_key_exists("Tastes"$context) ? $context["Tastes"] : (function () { throw new RuntimeError('Variable "Tastes" does not exist.'334$this->source); })()));
  653.         foreach ($context['_seq'] as $context["_key"] => $context["Taste"]) {
  654.             // line 335
  655.             echo "                    ";
  656.             $context["checked"] = ((twig_in_filter(twig_get_attribute($this->env$this->source$context["Taste"], "id", [], "any"falsefalsefalse335), (isset($context["s_taste_ids"]) || array_key_exists("s_taste_ids"$context) ? $context["s_taste_ids"] : (function () { throw new RuntimeError('Variable "s_taste_ids" does not exist.'335$this->source); })()))) ? ("checked") : (""));
  657.             // line 336
  658.             echo "                    <li><label><input type=\"checkbox\" class=\"taste_ids\" value=\"";
  659.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Taste"], "id", [], "any"falsefalsefalse336), "html"nulltrue);
  660.             echo "\" ";
  661.             echo twig_escape_filter($this->env, (isset($context["checked"]) || array_key_exists("checked"$context) ? $context["checked"] : (function () { throw new RuntimeError('Variable "checked" does not exist.'336$this->source); })()), "html"nulltrue);
  662.             echo "><span>";
  663.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Taste"], "name", [], "any"falsefalsefalse336), "html"nulltrue);
  664.             echo "</span></label></li>
  665.                   ";
  666.         }
  667.         $_parent $context['_parent'];
  668.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Taste'], $context['_parent'], $context['loop']);
  669.         $context array_intersect_key($context$_parent) + $_parent;
  670.         // line 338
  671.         echo "                </ul>
  672.               </dl>
  673.             </div>
  674.             <div class=\"search_box\">
  675.               <h2>キーワード</h2>
  676.               <dl class=\"keyword\">
  677.                 ";
  678.         // line 345
  679.         echo "                <dd>
  680.                   <input type=\"text\" name=\"name\" value=\"";
  681.         // line 346
  682.         echo twig_escape_filter($this->env, (isset($context["s_name"]) || array_key_exists("s_name"$context) ? $context["s_name"] : (function () { throw new RuntimeError('Variable "s_name" does not exist.'346$this->source); })()), "html"nulltrue);
  683.         echo "\" placeholder=\"キーワード …\">
  684.                   ";
  685.         // line 348
  686.         echo "                </dd>
  687.               </dl>
  688.             </div>
  689.               
  690.             <div class=\"search_btns\">
  691.               <input type=\"submit\" value=\"この条件で検索\" class=\"btn btn-black\">
  692.               <input type=\"reset\" value=\"条件をクリア\" name=\"reset\" class=\"btn btn-mono\">
  693.               ";
  694.         // line 357
  695.         echo "            </div>
  696.           </form>
  697.       </div>
  698.       </div>
  699.       
  700.       
  701.       <!-- -->
  702.     
  703. ";
  704.         
  705.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  706.         
  707.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  708.     }
  709.     public function getTemplateName()
  710.     {
  711.         return "Product/list.twig";
  712.     }
  713.     public function isTraitable()
  714.     {
  715.         return false;
  716.     }
  717.     public function getDebugInfo()
  718.     {
  719.         return array (  727 => 357,  718 => 348,  714 => 346,  711 => 345,  703 => 338,  690 => 336,  687 => 335,  683 => 334,  679 => 332,  677 => 331,  670 => 326,  657 => 324,  654 => 323,  650 => 322,  646 => 320,  644 => 319,  639 => 316,  632 => 314,  628 => 311,  615 => 309,  612 => 308,  608 => 307,  599 => 306,  597 => 305,  593 => 303,  584 => 300,  581 => 299,  576 => 298,  574 => 297,  558 => 283,  555 => 282,  551 => 280,  549 => 279,  537 => 272,  533 => 271,  527 => 268,  523 => 267,  516 => 262,  499 => 258,  493 => 256,  491 => 255,  488 => 254,  480 => 252,  474 => 250,  471 => 249,  469 => 248,  466 => 247,  460 => 245,  458 => 244,  454 => 243,  449 => 242,  443 => 233,  439 => 231,  437 => 230,  432 => 228,  425 => 226,  420 => 224,  417 => 223,  400 => 222,  396 => 220,  394 => 219,  390 => 217,  383 => 213,  379 => 212,  375 => 210,  373 => 209,  370 => 208,  364 => 206,  358 => 204,  356 => 203,  350 => 199,  335 => 166,  324 => 164,  320 => 163,  312 => 157,  300 => 155,  296 => 154,  291 => 153,  287 => 152,  283 => 150,  277 => 147,  274 => 146,  271 => 145,  265 => 143,  262 => 142,  252 => 141,  225 => 123,  215 => 116,  184 => 88,  115 => 21,  101 => 20,  93 => 19,  76 => 18,  72 => 16,  62 => 15,  51 => 11,  49 => 13,  36 => 11,);
  720.     }
  721.     public function getSourceContext()
  722.     {
  723.         return new Source("{#
  724. This file is part of EC-CUBE
  725. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  726. http://www.ec-cube.co.jp/
  727. For the full copyright and license information, please view the LICENSE
  728. file that was distributed with this source code.
  729. #}
  730. {% extends 'default_frame.twig' %}
  731. {% set body_class = 'product_page product_list' %}
  732. {% block javascript %}
  733.     <script>
  734.         eccube.productsClassCategories = {
  735.             {% for Product in pagination %}
  736.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  737.             {% endfor %}
  738.         };
  739.         \$(function() {
  740.             // 表示件数を変更
  741.             \$('.disp-number').change(function() {
  742.                 var dispNumber = \$(this).val();
  743.                 \$('#disp_number').val(dispNumber);
  744.                 \$('#pageno').val(1);
  745.                 \$(\"#form1\").submit();
  746.             });
  747.             // 並び順を変更
  748.             \$('.order-by').change(function() {
  749.                 var orderBy = \$(this).val();
  750.                 \$('#orderby').val(orderBy);
  751.                 \$('#pageno').val(1);
  752.                 \$(\"#form1\").submit();
  753.             });
  754.             
  755.             // 複数カテゴリ検索用のパラメータ
  756.             \$('#search1').on('submit', function(){
  757.               var category = [];
  758.               \$('.category_ids:checked').each(function(){
  759.                 category.push(\$(this).val());
  760.               });
  761.               
  762.               var brand = [];
  763.               \$('.brand_ids:checked').each(function(){
  764.                 brand.push(\$(this).val());
  765.               });
  766.               
  767.               var taste = [];
  768.               \$('.taste_ids:checked').each(function(){
  769.                 taste.push(\$(this).val());
  770.               });
  771.               \$('[name=category_ids]').val(category.join('-'));
  772.               \$('[name=brand_ids]').val(brand.join('-'));
  773.               \$('[name=taste_ids]').val(taste.join('-'));
  774.               
  775.             });
  776.             
  777.             //
  778.             \$('.search_modal_open').on('click', function(){
  779.               \$('.search_modal_wrap').addClass('on');
  780.             });
  781.             \$('.search_modal_close').on('click', function(){
  782.               \$('.search_modal_wrap').removeClass('on');
  783.             });
  784.             
  785.             // 
  786.             \$('.search_modal .accordion dt').on('click', function(){
  787.               
  788.               \$(this).toggleClass('on');
  789.               
  790.             });
  791.             
  792.             
  793.             \$('.add-cart').on('click', function(e) {
  794.                 var \$form = \$(this).parents('li').find('form');
  795.                 // 個数フォームのチェック
  796.                 var \$quantity = \$form.parent().find('.quantity');
  797.                 if (\$quantity.val() < 1) {
  798.                     \$quantity[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  799.                     setTimeout(function() {
  800.                         loadingOverlay('hide');
  801.                     }, 100);
  802.                     return true;
  803.                 } else {
  804.                     \$quantity[0].setCustomValidity('');
  805.                 }
  806.                 e.preventDefault();
  807.                 \$.ajax({
  808.                     url: \$form.attr('action'),
  809.                     type: \$form.attr('method'),
  810.                     data: \$form.serialize(),
  811.                     dataType: 'json',
  812.                     beforeSend: function(xhr, settings) {
  813.                         // Buttonを無効にする
  814.                         \$('.add-cart').prop('disabled', true);
  815.                     }
  816.                 }).done(function(data) {
  817.                     // レスポンス内のメッセージをalertで表示
  818.                     \$.each(data.messages, function() {
  819.                         \$('#ec-modal-header').html(this);
  820.                     });
  821.                     \$('.ec-modal').show()
  822.                     // カートブロックを更新する
  823.                     \$.ajax({
  824.                         url: '{{ url('block_cart') }}',
  825.                         type: 'GET',
  826.                         dataType: 'html'
  827.                     }).done(function(html) {
  828.                         \$('.ec-headerRole__cart').html(html);
  829.                     });
  830.                 }).fail(function(data) {
  831.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  832.                 }).always(function(data) {
  833.                     // Buttonを有効にする
  834.                     \$('.add-cart').prop('disabled', false);
  835.                 });
  836.             });
  837.         });
  838.         \$('.ec-modal-wrap').on('click', function(e) {
  839.             // モーダル内の処理は外側にバブリングさせない
  840.             e.stopPropagation();
  841.         });
  842.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  843.             \$('.ec-modal').hide()
  844.         });
  845.     </script>
  846. {% endblock %}
  847. {% block main %}
  848.     {% if search_form.vars.value.category_id.id is defined %}
  849.     {{ include('Block/category'~search_form.vars.value.category_id.id~'.twig', ignore_missing = true) }}
  850.     {% endif %}
  851.     {% if search_form.category_id.vars.errors|length > 0 %}
  852.         <div class=\"ec-searchnavRole\">
  853.             <p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
  854.         </div>
  855.     {% else %}
  856.         <div class=\"ec-searchnavRole\">
  857.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  858.                 {% for item in search_form %}
  859.                     <input type=\"hidden\" id=\"{{ item.vars.id }}\"
  860.                            name=\"{{ item.vars.full_name }}\"
  861.                            {% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
  862.                 {% endfor %}
  863.             </form>
  864.             
  865.             <div class=\"search_params_wrap\">
  866.               <div class=\"box1\">
  867.                 <div class=\"title\">現在の検索条件</div>
  868.                 <ul class=\"params\">
  869.                   {% for dat in s_search %}
  870.                     <li><a href=\"{{ dat.link }}\"><i class=\"fa-solid fa-xmark\"></i>{{ dat.name }}</a></li>
  871.                   {% endfor %}
  872.                 </ul>  
  873.               </div>
  874.               <div class=\"box2\">
  875.                 <div class=\"search_btn\">
  876.                   <a href=\"javascript:void(0);\" class=\"search_modal_open\">商品を絞り込む</a>
  877.                 </div>
  878.               </div>
  879.             </div>
  880.               
  881.             <div class=\"\">
  882.             </div>
  883.                 
  884.             {#
  885.             <div class=\"ec-searchnavRole__topicpath\">
  886.                 <ol class=\"ec-topicpath\">
  887.                     <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a>
  888.                     </li>
  889.                     {% if Category is not null %}
  890.                         {% for Path in Category.path %}
  891.                             <li class=\"ec-topicpath__divider\">|</li>
  892.                             <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\"><a
  893.                                         href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  894.                             </li>
  895.                         {% endfor %}
  896.                     {% endif %}
  897.                     {% if search_form.vars.value and search_form.vars.value.name %}
  898.                         <li class=\"ec-topicpath__divider\">|</li>
  899.                         <li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
  900.                     {% endif %}
  901.                 </ol>
  902.             </div>
  903.             #}
  904.                 
  905.                 
  906.             <div class=\"ec-searchnavRole__infos\">
  907.                 <div class=\"ec-searchnavRole__counter\">
  908.                     {% if pagination.totalItemCount > 0 %}
  909.                         {{ '<span class=\"ec-font-bold\">%count%件</span><span>の商品が見つかりました</span>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  910.                     {% else %}
  911.                         <span>{{ 'お探しの商品は見つかりませんでした'|trans }}</span>
  912.                     {% endif %}
  913.                 </div>
  914.                 {% if pagination.totalItemCount > 0 %}
  915.                     <div class=\"ec-searchnavRole__actions\">
  916.                         <div class=\"ec-select\">
  917.                             {{ form_widget(disp_number_form, {'id': '', 'attr': {'class': 'disp-number'}}) }}
  918.                             {{ form_widget(order_by_form, {'id': '', 'attr': {'class': 'order-by'}}) }}
  919.                         </div>
  920.                     </div>
  921.                 {% endif %}
  922.             </div>
  923.         </div>
  924.         {% if pagination.totalItemCount > 0 %}
  925.             <div class=\"ec-shelfRole\">
  926.                 <ul class=\"ec-shelfGrid\">
  927.                     {% for Product in pagination %}
  928.                         <li class=\"ec-shelfGrid__item\">
  929.                             <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  930.                                 <div class=\"ec-shelfGrid__item-image\">
  931.                                     <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" loading=\"lazy\">
  932.                                     <ul class=\"color-list\">
  933.                                       {{ Product.getColorsHTML|raw }}
  934.                                     </ul>
  935.                                     {% if Product.stock_find == false %}
  936.                                       <p class=\"list_soldout\">sold out</p>
  937.                                     {% endif %}
  938.                                     {{ Product.getSaleIcon|raw }}
  939.                                 </div>
  940.                                 {#<ul class=\"ec-shelfRole__tags\">
  941.                                     {% for Tag in Product.ProductTag %}
  942.                                         {% if Tag %}
  943.                                             <li class=\"ec-shelfRole__tag\">{{ Tag.Tag }}</li>
  944.                                         {% endif %}
  945.                                     {% endfor %}
  946.                                 </ul>#}
  947.                                 {{ include('@DesignTag4/tag_list.twig', ignore_missing = true) }}
  948.                                 <p class=\"ec-shelfGrid__item-name\">{{ Product.name }}</p>
  949.                                 {% if Product.description_list %}
  950.                                     <p>{{ Product.description_list|raw|nl2br }}</p>
  951.                                 {% endif %}
  952.                                 <p class=\"price02-default\">
  953.                                     {% if Product.hasProductClass %}
  954.                                         {% if Product.getPrice02Min == Product.getPrice02Max %}
  955.                                             {{ Product.getPrice02IncTaxMin|price }}
  956.                                         {% else %}
  957.                                             {{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}
  958.                                         {% endif %}
  959.                                     {% else %}
  960.                                         {#{{ Product.getPrice02IncTaxMin|price }}#}
  961.                                         {{ Product.getSalePrice|raw }}
  962.                                     {% endif %}
  963.                                 </p>
  964.                             </a>
  965.                         </li>
  966.                     {% endfor %}
  967.                 </ul>
  968.             </div>
  969.             <div class=\"ec-modal\">
  970.                 <div class=\"ec-modal-overlay\">
  971.                     <div class=\"ec-modal-wrap\">
  972.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  973.                         <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  974.                         <div class=\"ec-modal-box\">
  975.                             <div class=\"ec-role\">
  976.                                 <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  977.                                 <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  978.                             </div>
  979.                         </div>
  980.                     </div>
  981.                 </div>
  982.             </div>
  983.             <div class=\"ec-pagerRole\">
  984.                 {% include \"pager.twig\" with {'pages': pagination.paginationData} %}
  985.             </div>
  986.         {% endif %}
  987.     {% endif %}
  988.     
  989.     
  990.     <!------**** modal search ****------>
  991.       <div class=\"search_modal_wrap\">
  992.       <div class=\"search_modal\">
  993.           <div class=\"close_btn\"><a href=\"javascript:void(0);\" class=\"search_modal_close\"><i class=\"fas fa-times\"></i></a></div>
  994.           <form action=\"?\" method=\"get\" id=\"search1\">
  995.             
  996.             <div class=\"search_box\">
  997.               <h2>カテゴリ</h2>
  998.               <input type=\"hidden\" name=\"category_ids\" value=\"\">
  999.               <input type=\"hidden\" name=\"brand_ids\" value=\"\">
  1000.               <input type=\"hidden\" name=\"taste_ids\" value=\"\">
  1001.               {% set Categories = repository('Eccube\\\\Entity\\\\Category').getList() %}
  1002.               {% for Category in Categories %}
  1003.               <dl class=\"accordion\">
  1004.                 <dt><img src=\"{{ asset('img/icons/') }}category{{ Category.id }}.png\" alt=\"\" width=\"30\"><span>{{ Category.name }}</span></dt>
  1005.                 {#{% if Category.children|length > 0 %}#}
  1006.                 <dd>
  1007.                   <ul class=\"checkbox\">
  1008.                     {% set checked = (Category.id in s_category_ids)? 'checked':'' %}
  1009.                     <li><label><input type=\"checkbox\" class=\"category_ids\" value=\"{{ Category.id }}\" {{ checked }}><span>{{ Category.name }}すべて</span></label></li><!--すべてを選択-->
  1010.                     {% for ChildCategory in Category.children %}
  1011.                       {% set checked = (ChildCategory.id in s_category_ids)? 'checked':'' %}
  1012.                       <li><label><input type=\"checkbox\" class=\"category_ids\" value=\"{{ ChildCategory.id }}\" {{ checked }}><span>{{ ChildCategory.name }}</span></label></li>
  1013.                     {% endfor %}
  1014.                   </ul>
  1015.                 </dd>
  1016.                 {#{% endif %}#}
  1017.               </dl>
  1018.               {% endfor %}
  1019.             </div>
  1020.             <div class=\"search_box\">
  1021.               <h2>ブランド</h2>
  1022.               {% set Brands = repository('Plugin\\\\BrandManager\\\\Entity\\\\Brand').getList() %}
  1023.               <dl class=\"accordion\">
  1024.                 <ul class=\"checkbox\">
  1025.                   {% for Brand in Brands %}
  1026.                     {% set checked = (Brand.id in s_brand_ids)? 'checked':'' %}
  1027.                     <li><label><input type=\"checkbox\" class=\"brand_ids\" value=\"{{ Brand.id }}\" {{ checked }}><span>{{ Brand.name }}</span></label></li>
  1028.                   {% endfor %}
  1029.                 </ul>
  1030.               </dl>
  1031.             </div>
  1032.             <div class=\"search_box\">
  1033.               <h2>テイスト</h2>
  1034.               {% set Tastes = repository('Plugin\\\\TasteManager\\\\Entity\\\\Taste').getList() %}
  1035.               <dl class=\"accordion\">
  1036.                 <ul class=\"checkbox\">
  1037.                   {% for Taste in Tastes %}
  1038.                     {% set checked = (Taste.id in s_taste_ids)? 'checked':'' %}
  1039.                     <li><label><input type=\"checkbox\" class=\"taste_ids\" value=\"{{ Taste.id }}\" {{ checked }}><span>{{ Taste.name }}</span></label></li>
  1040.                   {% endfor %}
  1041.                 </ul>
  1042.               </dl>
  1043.             </div>
  1044.             <div class=\"search_box\">
  1045.               <h2>キーワード</h2>
  1046.               <dl class=\"keyword\">
  1047.                 {#<dt>キーワード検索</dt>#}
  1048.                 <dd>
  1049.                   <input type=\"text\" name=\"name\" value=\"{{ s_name }}\" placeholder=\"キーワード …\">
  1050.                   {#<button class=\"keyword-btn\"><i class=\"fa-solid fa-magnifying-glass\"></i></button>#}
  1051.                 </dd>
  1052.               </dl>
  1053.             </div>
  1054.               
  1055.             <div class=\"search_btns\">
  1056.               <input type=\"submit\" value=\"この条件で検索\" class=\"btn btn-black\">
  1057.               <input type=\"reset\" value=\"条件をクリア\" name=\"reset\" class=\"btn btn-mono\">
  1058.               {#<a href=\"javascript:void(0);\" class=\"btn btn-black\">この条件で検索</a>
  1059.               <a href=\"javascript:void(0)\" class=\"btn btn-mono\">条件をクリア</a>#}
  1060.             </div>
  1061.           </form>
  1062.       </div>
  1063.       </div>
  1064.       
  1065.       
  1066.       <!-- -->
  1067.     
  1068. {% endblock %}
  1069. ""Product/list.twig""/home/univfukuoka3/web-srv.biz/public_html/kaiino/app/template/kaiino/Product/list.twig");
  1070.     }
  1071. }