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_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.'101$this->source); })()), "category_id", [], "any"falsefalsetrue101), "vars", [], "any"falsefalsetrue101), "errors", [], "any"falsefalsetrue101)) > 0)) {
  198.             // line 102
  199.             echo "        <div class=\"ec-searchnavRole\">
  200.             <p class=\"errormsg text-danger\">";
  201.             // line 103
  202.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html"nulltrue);
  203.             echo "</p>
  204.         </div>
  205.     ";
  206.         } else {
  207.             // line 106
  208.             echo "        <div class=\"ec-searchnavRole\">
  209.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  210.                 ";
  211.             // line 108
  212.             $context['_parent'] = $context;
  213.             $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.'108$this->source); })()));
  214.             foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  215.                 // line 109
  216.                 echo "                    <input type=\"hidden\" id=\"";
  217.                 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"falsefalsetrue109), "id", [], "any"falsefalsetrue109), 109$this->source), "html"nulltrue);
  218.                 echo "\"
  219.                            name=\"";
  220.                 // line 110
  221.                 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"falsefalsetrue110), "full_name", [], "any"falsefalsetrue110), 110$this->source), "html"nulltrue);
  222.                 echo "\"
  223.                            ";
  224.                 // line 111
  225.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsetrue111), "value", [], "any"falsefalsetrue111))) {
  226.                     echo "value=\"";
  227.                     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"falsefalsetrue111), "value", [], "any"falsefalsetrue111), 111$this->source), "html"nulltrue);
  228.                     echo "\" ";
  229.                 }
  230.                 echo "/>
  231.                 ";
  232.             }
  233.             $_parent $context['_parent'];
  234.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  235.             $context array_intersect_key($context$_parent) + $_parent;
  236.             // line 113
  237.             echo "            </form>
  238.             <div class=\"ec-searchnavRole__topicpath\">
  239.                 <ol class=\"ec-topicpath\">
  240.                     <li class=\"ec-topicpath__item\"><a href=\"";
  241.             // line 116
  242.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  243.             echo "\">";
  244.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("全て"), "html"nulltrue);
  245.             echo "</a>
  246.                     </li>
  247.                     ";
  248.             // line 118
  249.             if ( !(null === (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'118$this->source); })()))) {
  250.                 // line 119
  251.                 echo "                        ";
  252.                 $context['_parent'] = $context;
  253.                 $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.'119$this->source); })()), "path", [], "any"falsefalsetrue119));
  254.                 $context['loop'] = [
  255.                   'parent' => $context['_parent'],
  256.                   'index0' => 0,
  257.                   'index'  => 1,
  258.                   'first'  => true,
  259.                 ];
  260.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  261.                     $length count($context['_seq']);
  262.                     $context['loop']['revindex0'] = $length 1;
  263.                     $context['loop']['revindex'] = $length;
  264.                     $context['loop']['length'] = $length;
  265.                     $context['loop']['last'] = === $length;
  266.                 }
  267.                 foreach ($context['_seq'] as $context["_key"] => $context["Path"]) {
  268.                     // line 120
  269.                     echo "                            <li class=\"ec-topicpath__divider\">|</li>
  270.                             <li class=\"ec-topicpath__item";
  271.                     // line 121
  272.                     if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue121)) {
  273.                         echo "--active";
  274.                     }
  275.                     echo "\"><a
  276.                                         href=\"";
  277.                     // line 122
  278.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  279.                     echo "?category_id=";
  280.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Path"], "id", [], "any"falsefalsetrue122), 122$this->source), "html"nulltrue);
  281.                     echo "\">";
  282.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsetrue122), 122$this->source), "html"nulltrue);
  283.                     echo "</a>
  284.                             </li>
  285.                         ";
  286.                     ++$context['loop']['index0'];
  287.                     ++$context['loop']['index'];
  288.                     $context['loop']['first'] = false;
  289.                     if (isset($context['loop']['length'])) {
  290.                         --$context['loop']['revindex0'];
  291.                         --$context['loop']['revindex'];
  292.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  293.                     }
  294.                 }
  295.                 $_parent $context['_parent'];
  296.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Path'], $context['_parent'], $context['loop']);
  297.                 $context array_intersect_key($context$_parent) + $_parent;
  298.                 // line 125
  299.                 echo "                    ";
  300.             }
  301.             // line 126
  302.             echo "                    ";
  303.             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.'126$this->source); })()), "vars", [], "any"falsefalsetrue126), "value", [], "any"falsefalsetrue126) && 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.'126$this->source); })()), "vars", [], "any"falsefalsetrue126), "value", [], "any"falsefalsetrue126), "name", [], "any"falsefalsetrue126))) {
  304.                 // line 127
  305.                 echo "                        <li class=\"ec-topicpath__divider\">|</li>
  306.                         <li class=\"ec-topicpath__item\">";
  307.                 // line 128
  308.                 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.'128$this->source); })()), "vars", [], "any"falsefalsetrue128), "value", [], "any"falsefalsetrue128), "name", [], "any"falsefalsetrue128)]), "html"nulltrue);
  309.                 echo "</li>
  310.                     ";
  311.             }
  312.             // line 130
  313.             echo "                </ol>
  314.             </div>
  315.             <div class=\"ec-searchnavRole__infos\">
  316.                 <div class=\"ec-searchnavRole__counter\">
  317.                     ";
  318.             // line 134
  319.             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.'134$this->source); })()), "totalItemCount", [], "any"falsefalsetrue134) > 0)) {
  320.                 // line 135
  321.                 echo "                        ";
  322.                 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.'135$this->source); })()), "totalItemCount", [], "any"falsefalsetrue135)]);
  323.                 echo "
  324.                     ";
  325.             } else {
  326.                 // line 137
  327.                 echo "                        <span>";
  328.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html"nulltrue);
  329.                 echo "</span>
  330.                     ";
  331.             }
  332.             // line 139
  333.             echo "                </div>
  334.                 ";
  335.             // line 140
  336.             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.'140$this->source); })()), "totalItemCount", [], "any"falsefalsetrue140) > 0)) {
  337.                 // line 141
  338.                 echo "                    <div class=\"ec-searchnavRole__actions\">
  339.                         <div class=\"ec-select\">
  340.                             ";
  341.                 // line 143
  342.                 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.'143$this->source); })()), "disp_number", [], "any"falsefalsetrue143), 143$this->source), 'widget', ["id" => """attr" => ["class" => "disp-number"]]);
  343.                 echo "
  344.                             ";
  345.                 // line 144
  346.                 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.'144$this->source); })()), "orderby", [], "any"falsefalsetrue144), 144$this->source), 'widget', ["id" => """attr" => ["class" => "order-by"]]);
  347.                 echo "
  348.                         </div>
  349.                     </div>
  350.                 ";
  351.             }
  352.             // line 148
  353.             echo "            </div>
  354.         </div>
  355.         ";
  356.             // line 150
  357.             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.'150$this->source); })()), "totalItemCount", [], "any"falsefalsetrue150) > 0)) {
  358.                 // line 151
  359.                 echo "            <div class=\"ec-shelfRole\">
  360.                 <ul class=\"ec-shelfGrid\">
  361.                     ";
  362.                 // line 153
  363.                 $context['_parent'] = $context;
  364.                 $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'153$this->source); })()));
  365.                 $context['loop'] = [
  366.                   'parent' => $context['_parent'],
  367.                   'index0' => 0,
  368.                   'index'  => 1,
  369.                   'first'  => true,
  370.                 ];
  371.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  372.                     $length count($context['_seq']);
  373.                     $context['loop']['revindex0'] = $length 1;
  374.                     $context['loop']['revindex'] = $length;
  375.                     $context['loop']['length'] = $length;
  376.                     $context['loop']['last'] = === $length;
  377.                 }
  378.                 foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  379.                     // line 154
  380.                     echo "                        <li class=\"ec-shelfGrid__item\">
  381.                             <a href=\"";
  382.                     // line 155
  383.                     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"falsefalsetrue155)]), "html"nulltrue);
  384.                     echo "\">
  385.                                 <p class=\"ec-shelfGrid__item-image\">
  386.                                     <img src=\"";
  387.                     // line 157
  388.                     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"falsefalsetrue157), 157$this->source)), "save_image"), "html"nulltrue);
  389.                     echo "\" alt=\"";
  390.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsetrue157), 157$this->source), "html"nulltrue);
  391.                     echo "\" ";
  392.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue157) > 5)) {
  393.                         echo " loading=\"lazy\"";
  394.                     }
  395.                     echo ">
  396.                                 </p>
  397.                                 <p>";
  398.                     // line 159
  399.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsetrue159), 159$this->source), "html"nulltrue);
  400.                     echo "</p>
  401.                                 ";
  402.                     // line 160
  403.                     if (twig_get_attribute($this->env$this->source$context["Product"], "description_list", [], "any"falsefalsetrue160)) {
  404.                         // line 161
  405.                         echo "                                    <p>";
  406.                         echo twig_nl2br($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "description_list", [], "any"falsefalsetrue161), 161$this->source));
  407.                         echo "</p>
  408.                                 ";
  409.                     }
  410.                     // line 163
  411.                     echo "                                <p class=\"price02-default\">
  412.                                     ";
  413.                     // line 164
  414.                     if (twig_get_attribute($this->env$this->source$context["Product"], "hasProductClass", [], "any"falsefalsetrue164)) {
  415.                         // line 165
  416.                         echo "                                        ";
  417.                         if ((twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Min", [], "any"falsefalsetrue165) == twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Max", [], "any"falsefalsetrue165))) {
  418.                             // line 166
  419.                             echo "                                            ";
  420.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue166), 166$this->source)), "html"nulltrue);
  421.                             echo " ";
  422.                             echo " (税込)";
  423.                             echo "
  424.                                         ";
  425.                         } else {
  426.                             // line 168
  427.                             echo "                                            ";
  428.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue168), 168$this->source)), "html"nulltrue);
  429.                             echo " ~ ";
  430.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMax", [], "any"falsefalsetrue168), 168$this->source)), "html"nulltrue);
  431.                             echo " ";
  432.                             echo " (税込)";
  433.                             echo "
  434.                                         ";
  435.                         }
  436.                         // line 170
  437.                         echo "                                    ";
  438.                     } else {
  439.                         // line 171
  440.                         echo "                                        ";
  441.                         echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue171), 171$this->source)), "html"nulltrue);
  442.                         echo " ";
  443.                         echo " (税込)";
  444.                         echo "
  445.                                     ";
  446.                     }
  447.                     // line 173
  448.                     echo "                                </p>
  449.                             </a>
  450.                             ";
  451.                     // line 176
  452.                     if (twig_get_attribute($this->env$this->source$context["Product"], "stock_find", [], "any"falsefalsetrue176)) {
  453.                         // line 177
  454.                         echo "                                ";
  455.                         $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.'177$this->source); })()), twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue177), [], "array"falsefalsetrue177);
  456.                         // line 178
  457.                         echo "                                <form name=\"form";
  458.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue178), 178$this->source), "html"nulltrue);
  459.                         echo "\" id=\"productForm";
  460.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue178), 178$this->source), "html"nulltrue);
  461.                         echo "\" action=\"";
  462.                         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"falsefalsetrue178)]), "html"nulltrue);
  463.                         echo "\" method=\"post\">
  464.                                     <div class=\"ec-productRole__actions\">
  465.                                         ";
  466.                         // line 180
  467.                         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue180)) {
  468.                             // line 181
  469.                             echo "                                            <div class=\"ec-select\">
  470.                                                 ";
  471.                             // line 182
  472.                             echo "購入/レンタル:</br>";
  473.                             echo "
  474.                                                 ";
  475.                             // line 183
  476.                             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.'183$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue183), 183$this->source), 'widget');
  477.                             echo "
  478.                                                 ";
  479.                             // line 184
  480.                             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.'184$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue184), 184$this->source), 'errors');
  481.                             echo "
  482.                                             </div>
  483.                                             ";
  484.                             // line 186
  485.                             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue186)) {
  486.                                 // line 187
  487.                                 echo "                                                <div class=\"ec-select\">
  488.                                                     ";
  489.                                 // line 188
  490.                                 echo "セットアップオプション:</br>";
  491.                                 echo "
  492.                                                     ";
  493.                                 // line 189
  494.                                 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.'189$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue189), 189$this->source), 'widget');
  495.                                 echo "
  496.                                                     ";
  497.                                 // line 190
  498.                                 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.'190$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue190), 190$this->source), 'errors');
  499.                                 echo "
  500.                                                 </div>
  501.                                             ";
  502.                             }
  503.                             // line 193
  504.                             echo "                                        ";
  505.                         }
  506.                         // line 194
  507.                         echo "                                        <div class=\"ec-numberInput\"><span>";
  508.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  509.                         echo "</span>
  510.                                             ";
  511.                         // line 195
  512.                         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.'195$this->source); })()), "quantity", [], "any"falsefalsetrue195), 195$this->source), 'widget', ["attr" => ["class" => "quantity"]]);
  513.                         echo "
  514.                                             ";
  515.                         // line 196
  516.                         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.'196$this->source); })()), "quantity", [], "any"falsefalsetrue196), 196$this->source), 'errors');
  517.                         echo "
  518.                                         </div>
  519.                                     </div>
  520.                                     ";
  521.                         // line 199
  522.                         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.'199$this->source); })()), 199$this->source), 'rest');
  523.                         echo "
  524.                                 </form>
  525.                                 <div class=\"ec-productRole__btn\">
  526.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\" data-cartid=\"";
  527.                         // line 202
  528.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue202), 202$this->source), "html"nulltrue);
  529.                         echo "\" form=\"productForm";
  530.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue202), 202$this->source), "html"nulltrue);
  531.                         echo "\">
  532.                                         ";
  533.                         // line 203
  534.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  535.                         echo "
  536.                                     </button>
  537.                                 </div>
  538.                             ";
  539.                     } else {
  540.                         // line 207
  541.                         echo "                                <div class=\"ec-productRole__btn\">
  542.                                     <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  543.                                         ";
  544.                         // line 209
  545.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  546.                         echo "
  547.                                     </button>
  548.                                 </div>
  549.                             ";
  550.                     }
  551.                     // line 213
  552.                     echo "                        </li>
  553.                     ";
  554.                     ++$context['loop']['index0'];
  555.                     ++$context['loop']['index'];
  556.                     $context['loop']['first'] = false;
  557.                     if (isset($context['loop']['length'])) {
  558.                         --$context['loop']['revindex0'];
  559.                         --$context['loop']['revindex'];
  560.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  561.                     }
  562.                 }
  563.                 $_parent $context['_parent'];
  564.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  565.                 $context array_intersect_key($context$_parent) + $_parent;
  566.                 // line 215
  567.                 echo "                </ul>
  568.             </div>
  569.             <div class=\"ec-modal\">
  570.                 <div class=\"ec-modal-overlay\">
  571.                     <div class=\"ec-modal-wrap\">
  572.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  573.                 // line 220
  574.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  575.                 echo "\" alt=\"\"/></span></span>
  576.                         <div id=\"ec-modal-header\" class=\"text-center\">";
  577.                 // line 221
  578.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  579.                 echo "</div>
  580.                         <div class=\"ec-modal-box\">
  581.                             <div class=\"ec-role\">
  582.                                 <span class=\"ec-inlineBtn--cancel\">";
  583.                 // line 224
  584.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  585.                 echo "</span>
  586.                                 <a href=\"";
  587.                 // line 225
  588.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  589.                 echo "\" class=\"ec-inlineBtn--action\">";
  590.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  591.                 echo "</a>
  592.                             </div>
  593.                         </div>
  594.                     </div>
  595.                 </div>
  596.             </div>
  597.             <div class=\"ec-pagerRole\">
  598.                 ";
  599.                 // line 232
  600.                 $this->loadTemplate("pager.twig""Product/list.twig"232)->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.'232$this->source); })()), "paginationData", [], "any"falsefalsetrue232)]));
  601.                 // line 233
  602.                 echo "            </div>
  603.         ";
  604.             }
  605.             // line 235
  606.             echo "    ";
  607.         }
  608.         
  609.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  610.         
  611.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  612.     }
  613.     public function getTemplateName()
  614.     {
  615.         return "Product/list.twig";
  616.     }
  617.     public function isTraitable()
  618.     {
  619.         return false;
  620.     }
  621.     public function getDebugInfo()
  622.     {
  623.         return array (  634 => 235,  630 => 233,  628 => 232,  616 => 225,  612 => 224,  606 => 221,  602 => 220,  595 => 215,  580 => 213,  573 => 209,  569 => 207,  562 => 203,  556 => 202,  550 => 199,  544 => 196,  540 => 195,  535 => 194,  532 => 193,  526 => 190,  522 => 189,  518 => 188,  515 => 187,  513 => 186,  508 => 184,  504 => 183,  500 => 182,  497 => 181,  495 => 180,  485 => 178,  482 => 177,  480 => 176,  475 => 173,  467 => 171,  464 => 170,  454 => 168,  446 => 166,  443 => 165,  441 => 164,  438 => 163,  432 => 161,  430 => 160,  426 => 159,  415 => 157,  410 => 155,  407 => 154,  390 => 153,  386 => 151,  384 => 150,  380 => 148,  373 => 144,  369 => 143,  365 => 141,  363 => 140,  360 => 139,  354 => 137,  348 => 135,  346 => 134,  340 => 130,  335 => 128,  332 => 127,  329 => 126,  326 => 125,  305 => 122,  299 => 121,  296 => 120,  278 => 119,  276 => 118,  269 => 116,  264 => 113,  252 => 111,  248 => 110,  243 => 109,  239 => 108,  235 => 106,  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,);
  624.     }
  625.     public function getSourceContext()
  626.     {
  627.         return new Source("{#
  628. This file is part of EC-CUBE
  629. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  630. http://www.ec-cube.co.jp/
  631. For the full copyright and license information, please view the LICENSE
  632. file that was distributed with this source code.
  633. #}
  634. {% extends 'default_frame.twig' %}
  635. {% set body_class = 'product_page' %}
  636. {% block javascript %}
  637.     <script>
  638.         eccube.productsClassCategories = {
  639.             {% for Product in pagination %}
  640.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  641.             {% endfor %}
  642.         };
  643.         \$(function() {
  644.             // 表示件数を変更
  645.             \$('.disp-number').change(function() {
  646.                 var dispNumber = \$(this).val();
  647.                 \$('#disp_number').val(dispNumber);
  648.                 \$('#pageno').val(1);
  649.                 \$(\"#form1\").submit();
  650.             });
  651.             // 並び順を変更
  652.             \$('.order-by').change(function() {
  653.                 var orderBy = \$(this).val();
  654.                 \$('#orderby').val(orderBy);
  655.                 \$('#pageno').val(1);
  656.                 \$(\"#form1\").submit();
  657.             });
  658.             \$('.add-cart').on('click', function(e) {
  659.                 var \$form = \$(this).parents('li').find('form');
  660.                 // 個数フォームのチェック
  661.                 var \$quantity = \$form.parent().find('.quantity');
  662.                 if (\$quantity.val() < 1) {
  663.                     \$quantity[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  664.                     setTimeout(function() {
  665.                         loadingOverlay('hide');
  666.                     }, 100);
  667.                     return true;
  668.                 } else {
  669.                     \$quantity[0].setCustomValidity('');
  670.                 }
  671.                 e.preventDefault();
  672.                 \$.ajax({
  673.                     url: \$form.attr('action'),
  674.                     type: \$form.attr('method'),
  675.                     data: \$form.serialize(),
  676.                     dataType: 'json',
  677.                     beforeSend: function(xhr, settings) {
  678.                         // Buttonを無効にする
  679.                         \$('.add-cart').prop('disabled', true);
  680.                     }
  681.                 }).done(function(data) {
  682.                     // レスポンス内のメッセージをalertで表示
  683.                     \$.each(data.messages, function() {
  684.                         \$('#ec-modal-header').text(this);
  685.                     });
  686.                     \$('.ec-modal').show()
  687.                     // カートブロックを更新する
  688.                     \$.ajax({
  689.                         url: '{{ url('block_cart') }}',
  690.                         type: 'GET',
  691.                         dataType: 'html'
  692.                     }).done(function(html) {
  693.                         \$('.ec-headerRole__cart').html(html);
  694.                     });
  695.                 }).fail(function(data) {
  696.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  697.                 }).always(function(data) {
  698.                     // Buttonを有効にする
  699.                     \$('.add-cart').prop('disabled', false);
  700.                 });
  701.             });
  702.         });
  703.         \$('.ec-modal-wrap').on('click', function(e) {
  704.             // モーダル内の処理は外側にバブリングさせない
  705.             e.stopPropagation();
  706.         });
  707.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  708.             \$('.ec-modal').hide()
  709.         });
  710.     </script>
  711. {% endblock %}
  712. {% block main %}
  713.     {% if search_form.category_id.vars.errors|length > 0 %}
  714.         <div class=\"ec-searchnavRole\">
  715.             <p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
  716.         </div>
  717.     {% else %}
  718.         <div class=\"ec-searchnavRole\">
  719.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  720.                 {% for item in search_form %}
  721.                     <input type=\"hidden\" id=\"{{ item.vars.id }}\"
  722.                            name=\"{{ item.vars.full_name }}\"
  723.                            {% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
  724.                 {% endfor %}
  725.             </form>
  726.             <div class=\"ec-searchnavRole__topicpath\">
  727.                 <ol class=\"ec-topicpath\">
  728.                     <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a>
  729.                     </li>
  730.                     {% if Category is not null %}
  731.                         {% for Path in Category.path %}
  732.                             <li class=\"ec-topicpath__divider\">|</li>
  733.                             <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\"><a
  734.                                         href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  735.                             </li>
  736.                         {% endfor %}
  737.                     {% endif %}
  738.                     {% if search_form.vars.value and search_form.vars.value.name %}
  739.                         <li class=\"ec-topicpath__divider\">|</li>
  740.                         <li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
  741.                     {% endif %}
  742.                 </ol>
  743.             </div>
  744.             <div class=\"ec-searchnavRole__infos\">
  745.                 <div class=\"ec-searchnavRole__counter\">
  746.                     {% if pagination.totalItemCount > 0 %}
  747.                         {{ '<span class=\"ec-font-bold\">%count%件</span><span>の商品が見つかりました</span>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  748.                     {% else %}
  749.                         <span>{{ 'お探しの商品は見つかりませんでした'|trans }}</span>
  750.                     {% endif %}
  751.                 </div>
  752.                 {% if pagination.totalItemCount > 0 %}
  753.                     <div class=\"ec-searchnavRole__actions\">
  754.                         <div class=\"ec-select\">
  755.                             {{ form_widget(search_form.disp_number, {'id': '', 'attr': {'class': 'disp-number'}}) }}
  756.                             {{ form_widget(search_form.orderby, {'id': '', 'attr': {'class': 'order-by'}}) }}
  757.                         </div>
  758.                     </div>
  759.                 {% endif %}
  760.             </div>
  761.         </div>
  762.         {% if pagination.totalItemCount > 0 %}
  763.             <div class=\"ec-shelfRole\">
  764.                 <ul class=\"ec-shelfGrid\">
  765.                     {% for Product in pagination %}
  766.                         <li class=\"ec-shelfGrid__item\">
  767.                             <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  768.                                 <p class=\"ec-shelfGrid__item-image\">
  769.                                     <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" {% if loop.index > 5 %} loading=\"lazy\"{% endif %}>
  770.                                 </p>
  771.                                 <p>{{ Product.name }}</p>
  772.                                 {% if Product.description_list %}
  773.                                     <p>{{ Product.description_list|raw|nl2br }}</p>
  774.                                 {% endif %}
  775.                                 <p class=\"price02-default\">
  776.                                     {% if Product.hasProductClass %}
  777.                                         {% if Product.getPrice02Min == Product.getPrice02Max %}
  778.                                             {{ Product.getPrice02IncTaxMin|price }} {{' (税込)'}}
  779.                                         {% else %}
  780.                                             {{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }} {{' (税込)'}}
  781.                                         {% endif %}
  782.                                     {% else %}
  783.                                         {{ Product.getPrice02IncTaxMin|price }} {{' (税込)'}}
  784.                                     {% endif %}
  785.                                 </p>
  786.                             </a>
  787.                             {% if Product.stock_find %}
  788.                                 {% set form = forms[Product.id] %}
  789.                                 <form name=\"form{{ Product.id }}\" id=\"productForm{{ Product.id }}\" action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\">
  790.                                     <div class=\"ec-productRole__actions\">
  791.                                         {% if form.classcategory_id1 is defined %}
  792.                                             <div class=\"ec-select\">
  793.                                                 {{'購入/レンタル:</br>'}}
  794.                                                 {{ form_widget(form.classcategory_id1) }}
  795.                                                 {{ form_errors(form.classcategory_id1) }}
  796.                                             </div>
  797.                                             {% if form.classcategory_id2 is defined %}
  798.                                                 <div class=\"ec-select\">
  799.                                                     {{'セットアップオプション:</br>'}}
  800.                                                     {{ form_widget(form.classcategory_id2) }}
  801.                                                     {{ form_errors(form.classcategory_id2) }}
  802.                                                 </div>
  803.                                             {% endif %}
  804.                                         {% endif %}
  805.                                         <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  806.                                             {{ form_widget(form.quantity, {'attr': {'class': 'quantity'}}) }}
  807.                                             {{ form_errors(form.quantity) }}
  808.                                         </div>
  809.                                     </div>
  810.                                     {{ form_rest(form) }}
  811.                                 </form>
  812.                                 <div class=\"ec-productRole__btn\">
  813.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\">
  814.                                         {{ 'カートに入れる'|trans }}
  815.                                     </button>
  816.                                 </div>
  817.                             {% else %}
  818.                                 <div class=\"ec-productRole__btn\">
  819.                                     <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  820.                                         {{ 'ただいま品切れ中です。'|trans }}
  821.                                     </button>
  822.                                 </div>
  823.                             {% endif %}
  824.                         </li>
  825.                     {% endfor %}
  826.                 </ul>
  827.             </div>
  828.             <div class=\"ec-modal\">
  829.                 <div class=\"ec-modal-overlay\">
  830.                     <div class=\"ec-modal-wrap\">
  831.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  832.                         <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  833.                         <div class=\"ec-modal-box\">
  834.                             <div class=\"ec-role\">
  835.                                 <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  836.                                 <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  837.                             </div>
  838.                         </div>
  839.                     </div>
  840.                 </div>
  841.             </div>
  842.             <div class=\"ec-pagerRole\">
  843.                 {% include \"pager.twig\" with {'pages': pagination.paginationData} %}
  844.             </div>
  845.         {% endif %}
  846.     {% endif %}
  847. {% endblock %}""Product/list.twig""/home/jtrim-ec/www/chuna-ec-dev/guard/app/template/default/Product/list.twig");
  848.     }
  849.     
  850.     public function checkSecurity()
  851.     {
  852.         static $tags = array("set" => 13"for" => 18"if" => 19"include" => 232);
  853.         static $filters = array("escape" => 19"raw" => 19"trans" => 47"length" => 101"no_image_product" => 157"nl2br" => 161"price" => 166);
  854.         static $functions = array("class_categories_as_json" => 19"url" => 75"form_widget" => 143"asset" => 157"form_errors" => 184"form_rest" => 199);
  855.         try {
  856.             $this->sandbox->checkSecurity(
  857.                 ['set''for''if''include'],
  858.                 ['escape''raw''trans''length''no_image_product''nl2br''price'],
  859.                 ['class_categories_as_json''url''form_widget''asset''form_errors''form_rest']
  860.             );
  861.         } catch (SecurityError $e) {
  862.             $e->setSourceContext($this->source);
  863.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  864.                 $e->setTemplateLine($tags[$e->getTagName()]);
  865.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  866.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  867.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  868.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  869.             }
  870.             throw $e;
  871.         }
  872.     }
  873. }