var/cache/dev/twig/63/63de7a1e70298c7da9544f5f1b74a33d.php line 54

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_7c806499883f3499398b789290dc138c 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.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  27.         $this->checkSecurity();
  28.     }
  29.     protected function doGetParent(array $context)
  30.     {
  31.         // line 11
  32.         return "default_frame.twig";
  33.     }
  34.     protected function doDisplay(array $context, array $blocks = [])
  35.     {
  36.         $macros $this->macros;
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  38.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  40.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  41.         // line 13
  42.         $context["body_class"] = "product_page";
  43.         // line 11
  44.         $this->parent $this->loadTemplate("default_frame.twig""Product/list.twig"11);
  45.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  46.         
  47.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  48.         
  49.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  50.     }
  51.     // line 15
  52.     public function block_javascript($context, array $blocks = [])
  53.     {
  54.         $macros $this->macros;
  55.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  56.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  57.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  58.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  59.         // line 16
  60.         echo "    <script>
  61.         eccube.productsClassCategories = {
  62.             ";
  63.         // line 18
  64.         $context['_parent'] = $context;
  65.         $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); })()));
  66.         $context['loop'] = [
  67.           'parent' => $context['_parent'],
  68.           'index0' => 0,
  69.           'index'  => 1,
  70.           'first'  => true,
  71.         ];
  72.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  73.             $length count($context['_seq']);
  74.             $context['loop']['revindex0'] = $length 1;
  75.             $context['loop']['revindex'] = $length;
  76.             $context['loop']['length'] = $length;
  77.             $context['loop']['last'] = === $length;
  78.         }
  79.         foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  80.             // line 19
  81.             echo "            \"";
  82.             echo twig_escape_filter($this->envtwig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue19), 19$this->source), "js"), "html"nulltrue);
  83.             echo "\": ";
  84.             echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed($context["Product"], 19$this->source));
  85.             if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue19) == false)) {
  86.                 echo ", ";
  87.             }
  88.             // line 20
  89.             echo "            ";
  90.             ++$context['loop']['index0'];
  91.             ++$context['loop']['index'];
  92.             $context['loop']['first'] = false;
  93.             if (isset($context['loop']['length'])) {
  94.                 --$context['loop']['revindex0'];
  95.                 --$context['loop']['revindex'];
  96.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  97.             }
  98.         }
  99.         $_parent $context['_parent'];
  100.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  101.         $context array_intersect_key($context$_parent) + $_parent;
  102.         // line 21
  103.         echo "        };
  104.         \$(function() {
  105.             // 表示件数を変更
  106.             \$('.disp-number').change(function() {
  107.                 var dispNumber = \$(this).val();
  108.                 \$('#disp_number').val(dispNumber);
  109.                 \$('#pageno').val(1);
  110.                 \$(\"#form1\").submit();
  111.             });
  112.             // 並び順を変更
  113.             \$('.order-by').change(function() {
  114.                 var orderBy = \$(this).val();
  115.                 \$('#orderby').val(orderBy);
  116.                 \$('#pageno').val(1);
  117.                 \$(\"#form1\").submit();
  118.             });
  119.             \$('.add-cart').on('click', function(e) {
  120.                 var \$form = \$(this).parents('li').find('form');
  121.                 // 個数フォームのチェック
  122.                 var \$quantity = \$form.parent().find('.quantity');
  123.                 if (\$quantity.val() < 1) {
  124.                     \$quantity[0].setCustomValidity('";
  125.         // line 47
  126.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  127.         echo "');
  128.                     setTimeout(function() {
  129.                         loadingOverlay('hide');
  130.                     }, 100);
  131.                     return true;
  132.                 } else {
  133.                     \$quantity[0].setCustomValidity('');
  134.                 }
  135.                 e.preventDefault();
  136.                 \$.ajax({
  137.                     url: \$form.attr('action'),
  138.                     type: \$form.attr('method'),
  139.                     data: \$form.serialize(),
  140.                     dataType: 'json',
  141.                     beforeSend: function(xhr, settings) {
  142.                         // Buttonを無効にする
  143.                         \$('.add-cart').prop('disabled', true);
  144.                     }
  145.                 }).done(function(data) {
  146.                     // レスポンス内のメッセージをalertで表示
  147.                     \$.each(data.messages, function() {
  148.                         \$('#ec-modal-header').text(this);
  149.                     });
  150.                     \$('.ec-modal').show()
  151.                     // カートブロックを更新する
  152.                     \$.ajax({
  153.                         url: '";
  154.         // line 75
  155.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  156.         echo "',
  157.                         type: 'GET',
  158.                         dataType: 'html'
  159.                     }).done(function(html) {
  160.                         \$('.ec-headerRole__cart').html(html);
  161.                     });
  162.                 }).fail(function(data) {
  163.                     alert('";
  164.         // line 82
  165.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  166.         echo "');
  167.                 }).always(function(data) {
  168.                     // Buttonを有効にする
  169.                     \$('.add-cart').prop('disabled', false);
  170.                 });
  171.             });
  172.         });
  173.         \$('.ec-modal-wrap').on('click', function(e) {
  174.             // モーダル内の処理は外側にバブリングさせない
  175.             e.stopPropagation();
  176.         });
  177.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  178.             \$('.ec-modal').hide()
  179.         });
  180.     </script>
  181. ";
  182.         
  183.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  184.         
  185.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  186.     }
  187.     // line 100
  188.     public function block_main($context, array $blocks = [])
  189.     {
  190.         $macros $this->macros;
  191.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  192.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  193.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  194.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  195.         // line 101
  196.         echo "        ";
  197.         if (twig_get_attribute($this->env$this->source, ($context["Category"] ?? null), "name", [], "any"truetruetrue101)) {
  198.             // line 102
  199.             echo "        ";
  200.             $context["categoryName"] = 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.'102$this->source); })()), "name", [], "any"falsefalsetrue102);
  201.             // line 103
  202.             echo "        ";
  203.         } else {
  204.             // line 104
  205.             echo "        ";
  206.             $context["categoryName"] = "商品一覧";
  207.             // line 105
  208.             echo "        ";
  209.         }
  210.         // line 106
  211.         echo "        <section class=\"p-lower-mv\">
  212.             <div class=\"inner\">
  213.                 <h2 class=\"p-lower-mv-title\"><span>";
  214.         // line 108
  215.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["categoryName"]) || array_key_exists("categoryName"$context) ? $context["categoryName"] : (function () { throw new RuntimeError('Variable "categoryName" does not exist.'108$this->source); })()), 108$this->source), "html"nulltrue);
  216.         echo "</span></h2>
  217.                 <div class=\"under bread_wrap\">
  218.                     <ol itemscope itemtype=\"https://schema.org/BreadcrumbList\">
  219.                         <li itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
  220.                             <a itemprop=\"item\" href=\"";
  221.         // line 112
  222.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  223.         echo "\">
  224.                                 <span class=\"freight-neo-pro\" itemprop=\"name\">TOP</span>
  225.                             </a>
  226.                             <meta itemprop=\"position\" content=\"1\" />
  227.                         </li>
  228.                         <li itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
  229.                             <a itemprop=\"item\" href=\"";
  230.         // line 118
  231.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  232.         echo "\">
  233.                             <span class=\"freight-neo-pro\" itemprop=\"name\">";
  234.         // line 119
  235.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["categoryName"]) || array_key_exists("categoryName"$context) ? $context["categoryName"] : (function () { throw new RuntimeError('Variable "categoryName" does not exist.'119$this->source); })()), 119$this->source), "html"nulltrue);
  236.         echo "</span>
  237.                             </a>
  238.                             <meta itemprop=\"position\" content=\"2\" />
  239.                         </li>
  240.                     </ol>
  241.                 </div>
  242.                 <!-- /.bread_wrap -->
  243.             </div>
  244.         </section>
  245.     ";
  246.         // line 128
  247.         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.'128$this->source); })()), "category_id", [], "any"falsefalsetrue128), "vars", [], "any"falsefalsetrue128), "errors", [], "any"falsefalsetrue128)) > 0)) {
  248.             // line 129
  249.             echo "        <div class=\"ec-searchnavRole\">
  250.             <p class=\"errormsg text-danger\">";
  251.             // line 130
  252.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html"nulltrue);
  253.             echo "</p>
  254.         </div>
  255.     ";
  256.         } else {
  257.             // line 133
  258.             echo "        <section class=\"product-search\">
  259.             <div class=\"inner\">
  260.                 <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  261.                     ";
  262.             // line 136
  263.             $context['_parent'] = $context;
  264.             $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.'136$this->source); })()));
  265.             foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  266.                 // line 137
  267.                 echo "                        <input type=\"hidden\" id=\"";
  268.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsetrue137), "id", [], "any"falsefalsetrue137), 137$this->source), "html"nulltrue);
  269.                 echo "\"
  270.                                 name=\"";
  271.                 // line 138
  272.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsetrue138), "full_name", [], "any"falsefalsetrue138), 138$this->source), "html"nulltrue);
  273.                 echo "\"
  274.                                 ";
  275.                 // line 139
  276.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsetrue139), "value", [], "any"falsefalsetrue139))) {
  277.                     echo "value=\"";
  278.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsetrue139), "value", [], "any"falsefalsetrue139), 139$this->source), "html"nulltrue);
  279.                     echo "\" ";
  280.                 }
  281.                 echo "/>
  282.                     ";
  283.             }
  284.             $_parent $context['_parent'];
  285.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  286.             $context array_intersect_key($context$_parent) + $_parent;
  287.             // line 141
  288.             echo "                </form>
  289.                 <!-- <div class=\"ec-searchnavRole__topicpath\">
  290.                     <ol class=\"ec-topicpath\">
  291.                         <li class=\"ec-topicpath__item\"><a href=\"";
  292.             // line 144
  293.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  294.             echo "\">";
  295.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("全て"), "html"nulltrue);
  296.             echo "</a>
  297.                         </li>
  298.                         ";
  299.             // line 146
  300.             if ( !(null === (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'146$this->source); })()))) {
  301.                 // line 147
  302.                 echo "                            ";
  303.                 $context['_parent'] = $context;
  304.                 $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.'147$this->source); })()), "path", [], "any"falsefalsetrue147));
  305.                 $context['loop'] = [
  306.                   'parent' => $context['_parent'],
  307.                   'index0' => 0,
  308.                   'index'  => 1,
  309.                   'first'  => true,
  310.                 ];
  311.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  312.                     $length count($context['_seq']);
  313.                     $context['loop']['revindex0'] = $length 1;
  314.                     $context['loop']['revindex'] = $length;
  315.                     $context['loop']['length'] = $length;
  316.                     $context['loop']['last'] = === $length;
  317.                 }
  318.                 foreach ($context['_seq'] as $context["_key"] => $context["Path"]) {
  319.                     // line 148
  320.                     echo "                                <li class=\"ec-topicpath__divider\">|</li>
  321.                                 <li class=\"ec-topicpath__item";
  322.                     // line 149
  323.                     if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue149)) {
  324.                         echo "--active";
  325.                     }
  326.                     echo "\"><a
  327.                                             href=\"";
  328.                     // line 150
  329.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  330.                     echo "?category_id=";
  331.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Path"], "id", [], "any"falsefalsetrue150), 150$this->source), "html"nulltrue);
  332.                     echo "\">";
  333.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsetrue150), 150$this->source), "html"nulltrue);
  334.                     echo "</a>
  335.                                 </li>
  336.                             ";
  337.                     ++$context['loop']['index0'];
  338.                     ++$context['loop']['index'];
  339.                     $context['loop']['first'] = false;
  340.                     if (isset($context['loop']['length'])) {
  341.                         --$context['loop']['revindex0'];
  342.                         --$context['loop']['revindex'];
  343.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  344.                     }
  345.                 }
  346.                 $_parent $context['_parent'];
  347.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Path'], $context['_parent'], $context['loop']);
  348.                 $context array_intersect_key($context$_parent) + $_parent;
  349.                 // line 153
  350.                 echo "                        ";
  351.             }
  352.             // line 154
  353.             echo "                        ";
  354.             if ((twig_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.'154$this->source); })()), "vars", [], "any"falsefalsetrue154), "value", [], "any"falsefalsetrue154) && 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.'154$this->source); })()), "vars", [], "any"falsefalsetrue154), "value", [], "any"falsefalsetrue154), "name", [], "any"falsefalsetrue154))) {
  355.                 // line 155
  356.                 echo "                            <li class=\"ec-topicpath__divider\">|</li>
  357.                             <li class=\"ec-topicpath__item\">";
  358.                 // line 156
  359.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("「%name%」の検索結果", ["%name%" => 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.'156$this->source); })()), "vars", [], "any"falsefalsetrue156), "value", [], "any"falsefalsetrue156), "name", [], "any"falsefalsetrue156)]), "html"nulltrue);
  360.                 echo "</li>
  361.                         ";
  362.             }
  363.             // line 158
  364.             echo "                    </ol>
  365.                 </div> -->
  366.                 <div class=\"product-search-wrap\">
  367.                     <div class=\"product-search-count\">
  368.                         ";
  369.             // line 162
  370.             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.'162$this->source); })()), "totalItemCount", [], "any"falsefalsetrue162) > 0)) {
  371.                 // line 163
  372.                 echo "                            ";
  373.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<span class=\"number\">%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.'163$this->source); })()), "totalItemCount", [], "any"falsefalsetrue163)]);
  374.                 echo "
  375.                         ";
  376.             } else {
  377.                 // line 165
  378.                 echo "                            <span>";
  379.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html"nulltrue);
  380.                 echo "</span>
  381.                         ";
  382.             }
  383.             // line 167
  384.             echo "                    </div>
  385.                     ";
  386.             // line 168
  387.             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.'168$this->source); })()), "totalItemCount", [], "any"falsefalsetrue168) > 0)) {
  388.                 // line 169
  389.                 echo "                        <div class=\"product-search-select\">
  390.                             ";
  391.                 // line 170
  392.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_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.'170$this->source); })()), "disp_number", [], "any"falsefalsetrue170), 170$this->source), 'widget', ["id" => "disp-number""attr" => ["class" => "disp-number"]]);
  393.                 echo "
  394.                             ";
  395.                 // line 171
  396.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_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.'171$this->source); })()), "orderby", [], "any"falsefalsetrue171), 171$this->source), 'widget', ["id" => "orderby""attr" => ["class" => "order-by"]]);
  397.                 echo "
  398.                         </div>
  399.                     ";
  400.             }
  401.             // line 174
  402.             echo "                </div>
  403.             </div>
  404.         </section>
  405.         <section class=\"product\">
  406.         ";
  407.             // line 178
  408.             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.'178$this->source); })()), "totalItemCount", [], "any"falsefalsetrue178) > 0)) {
  409.                 // line 179
  410.                 echo "            <div class=\"inner\">
  411.                 <ul class=\"p-product-list\">
  412.                     ";
  413.                 // line 181
  414.                 $context['_parent'] = $context;
  415.                 $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'181$this->source); })()));
  416.                 $context['loop'] = [
  417.                   'parent' => $context['_parent'],
  418.                   'index0' => 0,
  419.                   'index'  => 1,
  420.                   'first'  => true,
  421.                 ];
  422.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  423.                     $length count($context['_seq']);
  424.                     $context['loop']['revindex0'] = $length 1;
  425.                     $context['loop']['revindex'] = $length;
  426.                     $context['loop']['length'] = $length;
  427.                     $context['loop']['last'] = === $length;
  428.                 }
  429.                 foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  430.                     // line 182
  431.                     echo "                        <li class=\"p-product-item\">
  432.                             <a href=\"";
  433.                     // line 183
  434.                     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"falsefalsetrue183)]), "html"nulltrue);
  435.                     echo "\">
  436.                                 <div class=\"product-item-head\">
  437.                                     ";
  438.                     // line 185
  439.                     if (((((twig_get_attribute($this->env$this->source$context["Product"], "ProductBadge", [], "any"truetruetrue185) &&  !(null === twig_get_attribute($this->env$this->source,                     // line 186
  440. $context["Product"], "ProductBadge", [], "any"falsefalsetrue186))) && twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 187
  441. $context["Product"], "ProductBadge", [], "any"falsetruetrue187), "name", [], "any"truetruetrue187)) &&  !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 188
  442. $context["Product"], "ProductBadge", [], "any"falsefalsetrue188), "name", [], "any"falsefalsetrue188))) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,                     // line 189
  443. $context["Product"], "ProductBadge", [], "any"falsefalsetrue189), "filename", [], "any"falsefalsetrue189) != ""))) {
  444.                         // line 190
  445.                         echo "                                    <div class=\"product-item-badge\">
  446.                                         <img
  447.                                             src=\"";
  448.                         // line 192
  449.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["Product"], "ProductBadge", [], "any"falsefalsetrue192), "filename", [], "any"falsefalsetrue192), 192$this->source)), "save_image"), "html"nulltrue);
  450.                         echo "\"
  451.                                             alt=\"";
  452.                         // line 193
  453.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["Product"], "ProductBadge", [], "any"falsefalsetrue193), "name", [], "any"falsefalsetrue193), 193$this->source), "html"nulltrue);
  454.                         echo "\">
  455.                                     </div>
  456.                                     ";
  457.                     }
  458.                     // line 196
  459.                     echo "                                    <img src=\"";
  460.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "main_list_image", [], "any"falsefalsetrue196), 196$this->source)), "save_image"), "html"nulltrue);
  461.                     echo "\" alt=\"";
  462.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsetrue196), 196$this->source), "html"nulltrue);
  463.                     echo "\" ";
  464.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue196) > 5)) {
  465.                         echo " loading=\"lazy\"";
  466.                     }
  467.                     echo ">
  468.                                 </div>
  469.                                 <div class=\"product-item-body\">
  470.                                     <h3 class=\"product-item-name\">";
  471.                     // line 199
  472.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsetrue199), 199$this->source), "html"nulltrue);
  473.                     echo "</h3>
  474.                                     ";
  475.                     // line 200
  476.                     if (twig_get_attribute($this->env$this->source$context["Product"], "description_detail", [], "any"falsefalsetrue200)) {
  477.                         // line 201
  478.                         echo "                                    <div class=\"product-item-desc\">";
  479.                         echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "description_detail", [], "any"falsefalsetrue201), 201$this->source);
  480.                         echo "</div>
  481.                                     ";
  482.                     }
  483.                     // line 203
  484.                     echo "                                    <p class=\"product-item-price\">
  485.                                         ";
  486.                     // line 204
  487.                     if (twig_get_attribute($this->env$this->source$context["Product"], "hasProductClass", [], "any"falsefalsetrue204)) {
  488.                         // line 205
  489.                         echo "                                            ";
  490.                         if ((twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Min", [], "any"falsefalsetrue205) == twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Max", [], "any"falsefalsetrue205))) {
  491.                             // line 206
  492.                             echo "                                                ";
  493.                             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue206), 206$this->source), "html"nulltrue);
  494.                             echo "<span>円(税込)</span>
  495.                                             ";
  496.                         } else {
  497.                             // line 208
  498.                             echo "                                                ";
  499.                             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue208), 208$this->source), "html"nulltrue);
  500.                             echo " ~ ";
  501.                             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMax", [], "any"falsefalsetrue208), 208$this->source), "html"nulltrue);
  502.                             echo "<span>円(税込)</span>
  503.                                             ";
  504.                         }
  505.                         // line 210
  506.                         echo "                                        ";
  507.                     } else {
  508.                         // line 211
  509.                         echo "                                            ";
  510.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue211), 211$this->source), "html"nulltrue);
  511.                         echo "<span>円(税込)</span>
  512.                                         ";
  513.                     }
  514.                     // line 213
  515.                     echo "                                    </p>
  516.                                 </div>
  517.                             </a>
  518.                             ";
  519.                     // line 217
  520.                     if (twig_get_attribute($this->env$this->source$context["Product"], "stock_find", [], "any"falsefalsetrue217)) {
  521.                         // line 218
  522.                         echo "                                ";
  523.                         $context["form"] = twig_get_attribute($this->env$this->source, (isset($context["forms"]) || array_key_exists("forms"$context) ? $context["forms"] : (function () { throw new RuntimeError('Variable "forms" does not exist.'218$this->source); })()), twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue218), [], "array"falsefalsetrue218);
  524.                         // line 219
  525.                         echo "                                <!-- <form name=\"form";
  526.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue219), 219$this->source), "html"nulltrue);
  527.                         echo "\" id=\"productForm";
  528.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue219), 219$this->source), "html"nulltrue);
  529.                         echo "\" action=\"";
  530.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_cart", ["id" => twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue219)]), "html"nulltrue);
  531.                         echo "\" method=\"post\">
  532.                                     <div class=\"ec-productRole__actions\">
  533.                                         ";
  534.                         // line 221
  535.                         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue221)) {
  536.                             // line 222
  537.                             echo "                                            <div class=\"ec-select\">
  538.                                                 ";
  539.                             // line 223
  540.                             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'223$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue223), 223$this->source), 'widget');
  541.                             echo "
  542.                                                 ";
  543.                             // line 224
  544.                             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'224$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue224), 224$this->source), 'errors');
  545.                             echo "
  546.                                             </div>
  547.                                             ";
  548.                             // line 226
  549.                             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue226)) {
  550.                                 // line 227
  551.                                 echo "                                                <div class=\"ec-select\">
  552.                                                     ";
  553.                                 // line 228
  554.                                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'228$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue228), 228$this->source), 'widget');
  555.                                 echo "
  556.                                                     ";
  557.                                 // line 229
  558.                                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'229$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue229), 229$this->source), 'errors');
  559.                                 echo "
  560.                                                 </div>
  561.                                             ";
  562.                             }
  563.                             // line 232
  564.                             echo "                                        ";
  565.                         }
  566.                         // line 233
  567.                         echo "                                        <div class=\"ec-numberInput\"><span>";
  568.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  569.                         echo "</span>
  570.                                             ";
  571.                         // line 234
  572.                         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'234$this->source); })()), "quantity", [], "any"falsefalsetrue234), 234$this->source), 'widget', ["attr" => ["class" => "quantity"]]);
  573.                         echo "
  574.                                             ";
  575.                         // line 235
  576.                         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'235$this->source); })()), "quantity", [], "any"falsefalsetrue235), 235$this->source), 'errors');
  577.                         echo "
  578.                                         </div>
  579.                                     </div>
  580.                                     ";
  581.                         // line 238
  582.                         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'238$this->source); })()), 238$this->source), 'rest');
  583.                         echo "
  584.                                 </form>
  585.                                 <div class=\"ec-productRole__btn\">
  586.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\" data-cartid=\"";
  587.                         // line 241
  588.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue241), 241$this->source), "html"nulltrue);
  589.                         echo "\" form=\"productForm";
  590.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue241), 241$this->source), "html"nulltrue);
  591.                         echo "\">
  592.                                         ";
  593.                         // line 242
  594.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  595.                         echo "
  596.                                     </button>
  597.                                 </div> -->
  598.                             ";
  599.                     } else {
  600.                         // line 246
  601.                         echo "                                <!-- <div class=\"ec-productRole__btn\">
  602.                                     <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  603.                                         ";
  604.                         // line 248
  605.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  606.                         echo "
  607.                                     </button>
  608.                                 </div> -->
  609.                             ";
  610.                     }
  611.                     // line 252
  612.                     echo "                        </li>
  613.                     ";
  614.                     ++$context['loop']['index0'];
  615.                     ++$context['loop']['index'];
  616.                     $context['loop']['first'] = false;
  617.                     if (isset($context['loop']['length'])) {
  618.                         --$context['loop']['revindex0'];
  619.                         --$context['loop']['revindex'];
  620.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  621.                     }
  622.                 }
  623.                 $_parent $context['_parent'];
  624.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  625.                 $context array_intersect_key($context$_parent) + $_parent;
  626.                 // line 254
  627.                 echo "                </ul>
  628.                 <!-- <div class=\"ec-modal\">
  629.                     <div class=\"ec-modal-overlay\">
  630.                         <div class=\"ec-modal-wrap\">
  631.                             <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  632.                 // line 258
  633.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  634.                 echo "\" alt=\"\"/></span></span>
  635.                             <div id=\"ec-modal-header\" class=\"text-center\">";
  636.                 // line 259
  637.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  638.                 echo "</div>
  639.                             <div class=\"ec-modal-box\">
  640.                                 <div class=\"ec-role\">
  641.                                     <span class=\"ec-inlineBtn--cancel\">";
  642.                 // line 262
  643.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  644.                 echo "</span>
  645.                                     <a href=\"";
  646.                 // line 263
  647.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  648.                 echo "\" class=\"ec-inlineBtn--action\">";
  649.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  650.                 echo "</a>
  651.                                 </div>
  652.                             </div>
  653.                         </div>
  654.                     </div>
  655.                 </div> -->
  656.                 <div class=\"p-pagination\">
  657.                     ";
  658.                 // line 270
  659.                 $this->loadTemplate("pager.twig""Product/list.twig"270)->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.'270$this->source); })()), "paginationData", [], "any"falsefalsetrue270)]));
  660.                 // line 271
  661.                 echo "                </div>
  662.             </div>
  663.         ";
  664.             }
  665.             // line 274
  666.             echo "        </section>
  667.     ";
  668.         }
  669.         // line 276
  670.         echo "    ";
  671.         $this->loadTemplate("Block/recommend_product_block.twig""Product/list.twig"276)->display($context);
  672.         // line 277
  673.         echo "    ";
  674.         $this->loadTemplate("Block/category.twig""Product/list.twig"277)->display($context);
  675.         
  676.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  677.         
  678.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  679.     }
  680.     public function getTemplateName()
  681.     {
  682.         return "Product/list.twig";
  683.     }
  684.     public function isTraitable()
  685.     {
  686.         return false;
  687.     }
  688.     public function getDebugInfo()
  689.     {
  690.         return array (  701 => 277,  698 => 276,  694 => 274,  689 => 271,  687 => 270,  675 => 263,  671 => 262,  665 => 259,  661 => 258,  655 => 254,  640 => 252,  633 => 248,  629 => 246,  622 => 242,  616 => 241,  610 => 238,  604 => 235,  600 => 234,  595 => 233,  592 => 232,  586 => 229,  582 => 228,  579 => 227,  577 => 226,  572 => 224,  568 => 223,  565 => 222,  563 => 221,  553 => 219,  550 => 218,  548 => 217,  542 => 213,  536 => 211,  533 => 210,  525 => 208,  519 => 206,  516 => 205,  514 => 204,  511 => 203,  505 => 201,  503 => 200,  499 => 199,  486 => 196,  480 => 193,  476 => 192,  472 => 190,  470 => 189,  469 => 188,  468 => 187,  467 => 186,  466 => 185,  461 => 183,  458 => 182,  441 => 181,  437 => 179,  435 => 178,  429 => 174,  423 => 171,  419 => 170,  416 => 169,  414 => 168,  411 => 167,  405 => 165,  399 => 163,  397 => 162,  391 => 158,  386 => 156,  383 => 155,  380 => 154,  377 => 153,  356 => 150,  350 => 149,  347 => 148,  329 => 147,  327 => 146,  320 => 144,  315 => 141,  303 => 139,  299 => 138,  294 => 137,  290 => 136,  285 => 133,  279 => 130,  276 => 129,  274 => 128,  262 => 119,  258 => 118,  249 => 112,  242 => 108,  238 => 106,  235 => 105,  232 => 104,  229 => 103,  226 => 102,  223 => 101,  213 => 100,  186 => 82,  176 => 75,  145 => 47,  117 => 21,  103 => 20,  95 => 19,  78 => 18,  74 => 16,  64 => 15,  53 => 11,  51 => 13,  38 => 11,);
  691.     }
  692.     public function getSourceContext()
  693.     {
  694.         return new Source("{#
  695. This file is part of EC-CUBE
  696. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  697. http://www.ec-cube.co.jp/
  698. For the full copyright and license information, please view the LICENSE
  699. file that was distributed with this source code.
  700. #}
  701. {% extends 'default_frame.twig' %}
  702. {% set body_class = 'product_page' %}
  703. {% block javascript %}
  704.     <script>
  705.         eccube.productsClassCategories = {
  706.             {% for Product in pagination %}
  707.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  708.             {% endfor %}
  709.         };
  710.         \$(function() {
  711.             // 表示件数を変更
  712.             \$('.disp-number').change(function() {
  713.                 var dispNumber = \$(this).val();
  714.                 \$('#disp_number').val(dispNumber);
  715.                 \$('#pageno').val(1);
  716.                 \$(\"#form1\").submit();
  717.             });
  718.             // 並び順を変更
  719.             \$('.order-by').change(function() {
  720.                 var orderBy = \$(this).val();
  721.                 \$('#orderby').val(orderBy);
  722.                 \$('#pageno').val(1);
  723.                 \$(\"#form1\").submit();
  724.             });
  725.             \$('.add-cart').on('click', function(e) {
  726.                 var \$form = \$(this).parents('li').find('form');
  727.                 // 個数フォームのチェック
  728.                 var \$quantity = \$form.parent().find('.quantity');
  729.                 if (\$quantity.val() < 1) {
  730.                     \$quantity[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  731.                     setTimeout(function() {
  732.                         loadingOverlay('hide');
  733.                     }, 100);
  734.                     return true;
  735.                 } else {
  736.                     \$quantity[0].setCustomValidity('');
  737.                 }
  738.                 e.preventDefault();
  739.                 \$.ajax({
  740.                     url: \$form.attr('action'),
  741.                     type: \$form.attr('method'),
  742.                     data: \$form.serialize(),
  743.                     dataType: 'json',
  744.                     beforeSend: function(xhr, settings) {
  745.                         // Buttonを無効にする
  746.                         \$('.add-cart').prop('disabled', true);
  747.                     }
  748.                 }).done(function(data) {
  749.                     // レスポンス内のメッセージをalertで表示
  750.                     \$.each(data.messages, function() {
  751.                         \$('#ec-modal-header').text(this);
  752.                     });
  753.                     \$('.ec-modal').show()
  754.                     // カートブロックを更新する
  755.                     \$.ajax({
  756.                         url: '{{ url('block_cart') }}',
  757.                         type: 'GET',
  758.                         dataType: 'html'
  759.                     }).done(function(html) {
  760.                         \$('.ec-headerRole__cart').html(html);
  761.                     });
  762.                 }).fail(function(data) {
  763.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  764.                 }).always(function(data) {
  765.                     // Buttonを有効にする
  766.                     \$('.add-cart').prop('disabled', false);
  767.                 });
  768.             });
  769.         });
  770.         \$('.ec-modal-wrap').on('click', function(e) {
  771.             // モーダル内の処理は外側にバブリングさせない
  772.             e.stopPropagation();
  773.         });
  774.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  775.             \$('.ec-modal').hide()
  776.         });
  777.     </script>
  778. {% endblock %}
  779. {% block main %}
  780.         {% if Category.name is defined %}
  781.         {% set categoryName = Category.name %}
  782.         {% else %}
  783.         {% set categoryName = '商品一覧' %}
  784.         {% endif %}
  785.         <section class=\"p-lower-mv\">
  786.             <div class=\"inner\">
  787.                 <h2 class=\"p-lower-mv-title\"><span>{{ categoryName }}</span></h2>
  788.                 <div class=\"under bread_wrap\">
  789.                     <ol itemscope itemtype=\"https://schema.org/BreadcrumbList\">
  790.                         <li itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
  791.                             <a itemprop=\"item\" href=\"{{ url('homepage') }}\">
  792.                                 <span class=\"freight-neo-pro\" itemprop=\"name\">TOP</span>
  793.                             </a>
  794.                             <meta itemprop=\"position\" content=\"1\" />
  795.                         </li>
  796.                         <li itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">
  797.                             <a itemprop=\"item\" href=\"{{ url('product_list') }}\">
  798.                             <span class=\"freight-neo-pro\" itemprop=\"name\">{{ categoryName }}</span>
  799.                             </a>
  800.                             <meta itemprop=\"position\" content=\"2\" />
  801.                         </li>
  802.                     </ol>
  803.                 </div>
  804.                 <!-- /.bread_wrap -->
  805.             </div>
  806.         </section>
  807.     {% if search_form.category_id.vars.errors|length > 0 %}
  808.         <div class=\"ec-searchnavRole\">
  809.             <p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
  810.         </div>
  811.     {% else %}
  812.         <section class=\"product-search\">
  813.             <div class=\"inner\">
  814.                 <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  815.                     {% for item in search_form %}
  816.                         <input type=\"hidden\" id=\"{{ item.vars.id }}\"
  817.                                 name=\"{{ item.vars.full_name }}\"
  818.                                 {% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
  819.                     {% endfor %}
  820.                 </form>
  821.                 <!-- <div class=\"ec-searchnavRole__topicpath\">
  822.                     <ol class=\"ec-topicpath\">
  823.                         <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a>
  824.                         </li>
  825.                         {% if Category is not null %}
  826.                             {% for Path in Category.path %}
  827.                                 <li class=\"ec-topicpath__divider\">|</li>
  828.                                 <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\"><a
  829.                                             href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  830.                                 </li>
  831.                             {% endfor %}
  832.                         {% endif %}
  833.                         {% if search_form.vars.value and search_form.vars.value.name %}
  834.                             <li class=\"ec-topicpath__divider\">|</li>
  835.                             <li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
  836.                         {% endif %}
  837.                     </ol>
  838.                 </div> -->
  839.                 <div class=\"product-search-wrap\">
  840.                     <div class=\"product-search-count\">
  841.                         {% if pagination.totalItemCount > 0 %}
  842.                             {{ '<span class=\"number\">%count%</span><span>件の商品が見つかりました</span>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  843.                         {% else %}
  844.                             <span>{{ 'お探しの商品は見つかりませんでした'|trans }}</span>
  845.                         {% endif %}
  846.                     </div>
  847.                     {% if pagination.totalItemCount > 0 %}
  848.                         <div class=\"product-search-select\">
  849.                             {{ form_widget(search_form.disp_number, {'id': 'disp-number', 'attr': {'class': 'disp-number'}}) }}
  850.                             {{ form_widget(search_form.orderby, {'id': 'orderby', 'attr': {'class': 'order-by'}}) }}
  851.                         </div>
  852.                     {% endif %}
  853.                 </div>
  854.             </div>
  855.         </section>
  856.         <section class=\"product\">
  857.         {% if pagination.totalItemCount > 0 %}
  858.             <div class=\"inner\">
  859.                 <ul class=\"p-product-list\">
  860.                     {% for Product in pagination %}
  861.                         <li class=\"p-product-item\">
  862.                             <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  863.                                 <div class=\"product-item-head\">
  864.                                     {% if Product.ProductBadge is defined and
  865.                                         Product.ProductBadge is not null and
  866.                                         Product.ProductBadge.name is defined and
  867.                                         Product.ProductBadge.name is not null and
  868.                                         Product.ProductBadge.filename != '' %}
  869.                                     <div class=\"product-item-badge\">
  870.                                         <img
  871.                                             src=\"{{ asset(Product.ProductBadge.filename|no_image_product, 'save_image') }}\"
  872.                                             alt=\"{{ Product.ProductBadge.name }}\">
  873.                                     </div>
  874.                                     {% endif %}
  875.                                     <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" {% if loop.index > 5 %} loading=\"lazy\"{% endif %}>
  876.                                 </div>
  877.                                 <div class=\"product-item-body\">
  878.                                     <h3 class=\"product-item-name\">{{ Product.name }}</h3>
  879.                                     {% if Product.description_detail %}
  880.                                     <div class=\"product-item-desc\">{{ Product.description_detail|raw }}</div>
  881.                                     {% endif %}
  882.                                     <p class=\"product-item-price\">
  883.                                         {% if Product.hasProductClass %}
  884.                                             {% if Product.getPrice02Min == Product.getPrice02Max %}
  885.                                                 {{ Product.getPrice02IncTaxMin }}<span>円(税込)</span>
  886.                                             {% else %}
  887.                                                 {{ Product.getPrice02IncTaxMin }} ~ {{ Product.getPrice02IncTaxMax }}<span>円(税込)</span>
  888.                                             {% endif %}
  889.                                         {% else %}
  890.                                             {{ Product.getPrice02IncTaxMin }}<span>円(税込)</span>
  891.                                         {% endif %}
  892.                                     </p>
  893.                                 </div>
  894.                             </a>
  895.                             {% if Product.stock_find %}
  896.                                 {% set form = forms[Product.id] %}
  897.                                 <!-- <form name=\"form{{ Product.id }}\" id=\"productForm{{ Product.id }}\" action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\">
  898.                                     <div class=\"ec-productRole__actions\">
  899.                                         {% if form.classcategory_id1 is defined %}
  900.                                             <div class=\"ec-select\">
  901.                                                 {{ form_widget(form.classcategory_id1) }}
  902.                                                 {{ form_errors(form.classcategory_id1) }}
  903.                                             </div>
  904.                                             {% if form.classcategory_id2 is defined %}
  905.                                                 <div class=\"ec-select\">
  906.                                                     {{ form_widget(form.classcategory_id2) }}
  907.                                                     {{ form_errors(form.classcategory_id2) }}
  908.                                                 </div>
  909.                                             {% endif %}
  910.                                         {% endif %}
  911.                                         <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  912.                                             {{ form_widget(form.quantity, {'attr': {'class': 'quantity'}}) }}
  913.                                             {{ form_errors(form.quantity) }}
  914.                                         </div>
  915.                                     </div>
  916.                                     {{ form_rest(form) }}
  917.                                 </form>
  918.                                 <div class=\"ec-productRole__btn\">
  919.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\">
  920.                                         {{ 'カートに入れる'|trans }}
  921.                                     </button>
  922.                                 </div> -->
  923.                             {% else %}
  924.                                 <!-- <div class=\"ec-productRole__btn\">
  925.                                     <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  926.                                         {{ 'ただいま品切れ中です。'|trans }}
  927.                                     </button>
  928.                                 </div> -->
  929.                             {% endif %}
  930.                         </li>
  931.                     {% endfor %}
  932.                 </ul>
  933.                 <!-- <div class=\"ec-modal\">
  934.                     <div class=\"ec-modal-overlay\">
  935.                         <div class=\"ec-modal-wrap\">
  936.                             <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  937.                             <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  938.                             <div class=\"ec-modal-box\">
  939.                                 <div class=\"ec-role\">
  940.                                     <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  941.                                     <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  942.                                 </div>
  943.                             </div>
  944.                         </div>
  945.                     </div>
  946.                 </div> -->
  947.                 <div class=\"p-pagination\">
  948.                     {% include \"pager.twig\" with {'pages': pagination.paginationData} %}
  949.                 </div>
  950.             </div>
  951.         {% endif %}
  952.         </section>
  953.     {% endif %}
  954.     {% include 'Block/recommend_product_block.twig' %}
  955.     {% include 'Block/category.twig' %}
  956. {% endblock %}""Product/list.twig""/home/hirota-s.com/public_html/app/template/default/Product/list.twig");
  957.     }
  958.     
  959.     public function checkSecurity()
  960.     {
  961.         static $tags = array("set" => 13"for" => 18"if" => 19"include" => 270);
  962.         static $filters = array("escape" => 19"raw" => 19"trans" => 47"length" => 128"no_image_product" => 192);
  963.         static $functions = array("class_categories_as_json" => 19"url" => 75"form_widget" => 170"asset" => 192"form_errors" => 224"form_rest" => 238);
  964.         try {
  965.             $this->sandbox->checkSecurity(
  966.                 ['set''for''if''include'],
  967.                 ['escape''raw''trans''length''no_image_product'],
  968.                 ['class_categories_as_json''url''form_widget''asset''form_errors''form_rest']
  969.             );
  970.         } catch (SecurityError $e) {
  971.             $e->setSourceContext($this->source);
  972.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  973.                 $e->setTemplateLine($tags[$e->getTagName()]);
  974.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  975.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  976.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  977.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  978.             }
  979.             throw $e;
  980.         }
  981.     }
  982. }