var/cache/dev/twig/f1/f1e952a2272b3d1405d33a216bd7e85f.php line 55

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_147525e53e8f810c974c3ba610bc1444 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.             'stylesheet' => [$this'block_stylesheet'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  28.         $this->checkSecurity();
  29.     }
  30.     protected function doGetParent(array $context)
  31.     {
  32.         // line 11
  33.         return "default_frame.twig";
  34.     }
  35.     protected function doDisplay(array $context, array $blocks = [])
  36.     {
  37.         $macros $this->macros;
  38.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  39.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  40.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  41.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  42.         // line 13
  43.         $context["body_class"] = "product_page";
  44.         // line 11
  45.         $this->parent $this->loadTemplate("default_frame.twig""Product/list.twig"11);
  46.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  47.         
  48.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  49.         
  50.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  51.     }
  52.     // line 15
  53.     public function block_javascript($context, array $blocks = [])
  54.     {
  55.         $macros $this->macros;
  56.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  57.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  58.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  59.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  60.         // line 16
  61.         echo "    <script>
  62.         eccube.productsClassCategories = {
  63.             ";
  64.         // line 18
  65.         $context['_parent'] = $context;
  66.         $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); })()));
  67.         $context['loop'] = [
  68.           'parent' => $context['_parent'],
  69.           'index0' => 0,
  70.           'index'  => 1,
  71.           'first'  => true,
  72.         ];
  73.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  74.             $length count($context['_seq']);
  75.             $context['loop']['revindex0'] = $length 1;
  76.             $context['loop']['revindex'] = $length;
  77.             $context['loop']['length'] = $length;
  78.             $context['loop']['last'] = === $length;
  79.         }
  80.         foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  81.             // line 19
  82.             echo "            \"";
  83.             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);
  84.             echo "\": ";
  85.             echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed($context["Product"], 19$this->source));
  86.             if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue19) == false)) {
  87.                 echo ", ";
  88.             }
  89.             // line 20
  90.             echo "            ";
  91.             ++$context['loop']['index0'];
  92.             ++$context['loop']['index'];
  93.             $context['loop']['first'] = false;
  94.             if (isset($context['loop']['length'])) {
  95.                 --$context['loop']['revindex0'];
  96.                 --$context['loop']['revindex'];
  97.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  98.             }
  99.         }
  100.         $_parent $context['_parent'];
  101.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  102.         $context array_intersect_key($context$_parent) + $_parent;
  103.         // line 21
  104.         echo "        };
  105.         \$(function() {
  106.             // 表示件数を変更
  107.             \$('.disp-number').change(function() {
  108.                 var dispNumber = \$(this).val();
  109.                 \$('#disp_number').val(dispNumber);
  110.                 \$('#pageno').val(1);
  111.                 \$(\"#form1\").submit();
  112.             });
  113.             // 並び順を変更
  114.             \$('.order-by').change(function() {
  115.                 var orderBy = \$(this).val();
  116.                 \$('#orderby').val(orderBy);
  117.                 \$('#pageno').val(1);
  118.                 \$(\"#form1\").submit();
  119.             });
  120.             \$('.add-cart').on('click', function(e) {
  121.                 var \$form = \$(this).parents('li').find('form');
  122.                 // 個数フォームのチェック
  123.                 var \$quantity = \$form.parent().find('.quantity');
  124.                 if (\$quantity.val() < 1) {
  125.                     \$quantity[0].setCustomValidity('";
  126.         // line 47
  127.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  128.         echo "');
  129.                     setTimeout(function() {
  130.                         loadingOverlay('hide');
  131.                     }, 100);
  132.                     return true;
  133.                 } else {
  134.                     \$quantity[0].setCustomValidity('');
  135.                 }
  136.                 e.preventDefault();
  137.                 \$.ajax({
  138.                     url: \$form.attr('action'),
  139.                     type: \$form.attr('method'),
  140.                     data: \$form.serialize(),
  141.                     dataType: 'json',
  142.                     beforeSend: function(xhr, settings) {
  143.                         // Buttonを無効にする
  144.                         \$('.add-cart').prop('disabled', true);
  145.                     }
  146.                 }).done(function(data) {
  147.                     // レスポンス内のメッセージをalertで表示
  148.                     \$.each(data.messages, function() {
  149.                         \$('#ec-modal-header').text(this);
  150.                     });
  151.                     \$('.ec-modal').show()
  152.                     // カートブロックを更新する
  153.                     \$.ajax({
  154.                         url: '";
  155.         // line 75
  156.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  157.         echo "',
  158.                         type: 'GET',
  159.                         dataType: 'html'
  160.                     }).done(function(html) {
  161.                         \$('.ec-headerRole__cart').html(html);
  162.                     });
  163.                 }).fail(function(data) {
  164.                     alert('";
  165.         // line 82
  166.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  167.         echo "');
  168.                 }).always(function(data) {
  169.                     // Buttonを有効にする
  170.                     \$('.add-cart').prop('disabled', false);
  171.                 });
  172.             });
  173.         });
  174.         \$('.ec-modal-wrap').on('click', function(e) {
  175.             // モーダル内の処理は外側にバブリングさせない
  176.             e.stopPropagation();
  177.         });
  178.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  179.             \$('.ec-modal').hide()
  180.         });
  181.     </script>
  182. ";
  183.         
  184.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  185.         
  186.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  187.     }
  188.     // line 102
  189.     public function block_stylesheet($context, array $blocks = [])
  190.     {
  191.         $macros $this->macros;
  192.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  193.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  194.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  195.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  196.         // line 103
  197.         echo "<style>
  198. #page_product_list .ec-shelfRole#products-area .ec-shelfGrid .ec-shelfGrid__item{
  199.     justify-content: space-between;
  200. }
  201. #page_product_list .ec-shelfRole#products-area .ec-shelfGrid .ec-shelfGrid__item > a{
  202.     display: flex;
  203.     height: 100%;
  204. }
  205. @media only screen and (min-width: 768px){
  206. #page_product_list .ec-shelfRole#products-area .ec-shelfGrid .ec-shelfGrid__item > a > div{
  207.     flex-direction: column;
  208. }
  209. }
  210. .product-ttlarea{
  211.     display: flex;
  212.     flex-direction: column;
  213.     justify-content: space-between;
  214.     flex: auto;
  215. }
  216. .listphoto{
  217.     display: flex;
  218.     flex: 1;
  219.     aspect-ratio: 218 / 309.67;
  220. }
  221. .product-ttl{
  222.     margin-top: 0;
  223. }
  224. </style>
  225. ";
  226.         
  227.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  228.         
  229.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  230.     }
  231.     // line 134
  232.     public function block_main($context, array $blocks = [])
  233.     {
  234.         $macros $this->macros;
  235.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  236.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  237.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  238.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  239.         // line 135
  240.         echo "    ";
  241.         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.'135$this->source); })()), "category_id", [], "any"falsefalsetrue135), "vars", [], "any"falsefalsetrue135), "errors", [], "any"falsefalsetrue135)) > 0)) {
  242.             // line 136
  243.             echo "        <div class=\"ec-searchnavRole\">
  244.             <p class=\"errormsg text-danger\">";
  245.             // line 137
  246.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html"nulltrue);
  247.             echo "</p>
  248.         </div>
  249.     ";
  250.         } else {
  251.             // line 140
  252.             echo "        <div class=\"ec-searchnavRole\">
  253.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  254.                 ";
  255.             // line 142
  256.             $context['_parent'] = $context;
  257.             $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.'142$this->source); })()));
  258.             foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  259.                 // line 143
  260.                 echo "                    <input type=\"hidden\" id=\"";
  261.                 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"falsefalsetrue143), "id", [], "any"falsefalsetrue143), 143$this->source), "html"nulltrue);
  262.                 echo "\"
  263.                            name=\"";
  264.                 // line 144
  265.                 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"falsefalsetrue144), "full_name", [], "any"falsefalsetrue144), 144$this->source), "html"nulltrue);
  266.                 echo "\"
  267.                            ";
  268.                 // line 145
  269.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsetrue145), "value", [], "any"falsefalsetrue145))) {
  270.                     echo "value=\"";
  271.                     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"falsefalsetrue145), "value", [], "any"falsefalsetrue145), 145$this->source), "html"nulltrue);
  272.                     echo "\" ";
  273.                 }
  274.                 echo "/>
  275.                 ";
  276.             }
  277.             $_parent $context['_parent'];
  278.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  279.             $context array_intersect_key($context$_parent) + $_parent;
  280.             // line 147
  281.             echo "            </form>
  282.             <!--★タイトル★-->
  283.             <h2 class=\"title\">
  284.                 ";
  285.             // line 151
  286.             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.'151$this->source); })()), "vars", [], "any"falsefalsetrue151), "value", [], "any"falsefalsetrue151) && 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.'151$this->source); })()), "vars", [], "any"falsefalsetrue151), "value", [], "any"falsefalsetrue151), "name", [], "any"falsefalsetrue151))) {
  287.                 // line 152
  288.                 echo "                ";
  289.                 $context["subtitle"] = "書籍検索結果";
  290.                 // line 153
  291.                 echo "                ";
  292.             }
  293.             // line 154
  294.             echo "                ";
  295.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["subtitle"]) || array_key_exists("subtitle"$context) ? $context["subtitle"] : (function () { throw new RuntimeError('Variable "subtitle" does not exist.'154$this->source); })()), 154$this->source), "html"nulltrue);
  296.             echo "
  297.             </h2>
  298.             <!--▼検索条件-->
  299.             ";
  300.             // line 158
  301.             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.'158$this->source); })()), "vars", [], "any"falsefalsetrue158), "value", [], "any"falsefalsetrue158) && 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.'158$this->source); })()), "vars", [], "any"falsefalsetrue158), "value", [], "any"falsefalsetrue158), "name", [], "any"falsefalsetrue158))) {
  302.                 // line 159
  303.                 echo "            <ul class=\"pagecond_area\">
  304.                 <li><strong>検索キーワード:</strong>";
  305.                 // line 160
  306.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'160$this->source); })()), "vars", [], "any"falsefalsetrue160), "value", [], "any"falsefalsetrue160), "name", [], "any"falsefalsetrue160), 160$this->source), "html"nulltrue);
  307.                 echo "</li>
  308.             </ul>
  309.             ";
  310.             }
  311.             // line 163
  312.             echo "
  313.             <!--
  314.             <div class=\"ec-searchnavRole__topicpath\">
  315.                 <ol class=\"ec-topicpath\">
  316.                     <li class=\"ec-topicpath__item\"><a href=\"";
  317.             // line 167
  318.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  319.             echo "\">";
  320.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("全て"), "html"nulltrue);
  321.             echo "</a>
  322.                     </li>
  323.                     ";
  324.             // line 169
  325.             if ( !(null === (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'169$this->source); })()))) {
  326.                 // line 170
  327.                 echo "                        ";
  328.                 $context['_parent'] = $context;
  329.                 $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.'170$this->source); })()), "path", [], "any"falsefalsetrue170));
  330.                 $context['loop'] = [
  331.                   'parent' => $context['_parent'],
  332.                   'index0' => 0,
  333.                   'index'  => 1,
  334.                   'first'  => true,
  335.                 ];
  336.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  337.                     $length count($context['_seq']);
  338.                     $context['loop']['revindex0'] = $length 1;
  339.                     $context['loop']['revindex'] = $length;
  340.                     $context['loop']['length'] = $length;
  341.                     $context['loop']['last'] = === $length;
  342.                 }
  343.                 foreach ($context['_seq'] as $context["_key"] => $context["Path"]) {
  344.                     // line 171
  345.                     echo "                            <li class=\"ec-topicpath__divider\">|</li>
  346.                             <li class=\"ec-topicpath__item";
  347.                     // line 172
  348.                     if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue172)) {
  349.                         echo "--active";
  350.                     }
  351.                     echo "\"><a
  352.                                         href=\"";
  353.                     // line 173
  354.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  355.                     echo "?category_id=";
  356.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Path"], "id", [], "any"falsefalsetrue173), 173$this->source), "html"nulltrue);
  357.                     echo "\">";
  358.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsetrue173), 173$this->source), "html"nulltrue);
  359.                     echo "</a>
  360.                             </li>
  361.                         ";
  362.                     ++$context['loop']['index0'];
  363.                     ++$context['loop']['index'];
  364.                     $context['loop']['first'] = false;
  365.                     if (isset($context['loop']['length'])) {
  366.                         --$context['loop']['revindex0'];
  367.                         --$context['loop']['revindex'];
  368.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  369.                     }
  370.                 }
  371.                 $_parent $context['_parent'];
  372.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Path'], $context['_parent'], $context['loop']);
  373.                 $context array_intersect_key($context$_parent) + $_parent;
  374.                 // line 176
  375.                 echo "                    ";
  376.             }
  377.             // line 177
  378.             echo "                    ";
  379.             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.'177$this->source); })()), "vars", [], "any"falsefalsetrue177), "value", [], "any"falsefalsetrue177) && 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.'177$this->source); })()), "vars", [], "any"falsefalsetrue177), "value", [], "any"falsefalsetrue177), "name", [], "any"falsefalsetrue177))) {
  380.                 // line 178
  381.                 echo "                        <li class=\"ec-topicpath__divider\">|</li>
  382.                         <li class=\"ec-topicpath__item\">";
  383.                 // line 179
  384.                 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.'179$this->source); })()), "vars", [], "any"falsefalsetrue179), "value", [], "any"falsefalsetrue179), "name", [], "any"falsefalsetrue179)]), "html"nulltrue);
  385.                 echo "</li>
  386.                     ";
  387.             }
  388.             // line 181
  389.             echo "                </ol>
  390.             </div>
  391.             -->
  392.             <div class=\"ec-searchnavRole__infos pagenumber_area\">
  393.                 <div class=\"pagination-area flex\">
  394.                     <div class=\"ec-searchnavRole__counter\">
  395.                         ";
  396.             // line 188
  397.             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.'188$this->source); })()), "totalItemCount", [], "any"falsefalsetrue188) > 0)) {
  398.                 // line 189
  399.                 echo "                            ";
  400.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<span class=\"ec-font-bold attention\">%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.'189$this->source); })()), "totalItemCount", [], "any"falsefalsetrue189)]);
  401.                 echo "
  402.                         ";
  403.             } else {
  404.                 // line 191
  405.                 echo "                            <span>";
  406.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html"nulltrue);
  407.                 echo "</span>
  408.                         ";
  409.             }
  410.             // line 193
  411.             echo "                    </div>
  412.                     ";
  413.             // line 194
  414.             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.'194$this->source); })()), "totalItemCount", [], "any"falsefalsetrue194) > 0)) {
  415.                 // line 195
  416.                 echo "                    <div class=\"ec-searchnavRole__actions\">
  417.                         <div class=\"ec-select\">
  418.                             ";
  419.                 // line 197
  420.                 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.'197$this->source); })()), "disp_number", [], "any"falsefalsetrue197), 197$this->source), 'widget', ["id" => """attr" => ["class" => "disp-number"]]);
  421.                 echo "
  422.                             ";
  423.                 // line 198
  424.                 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.'198$this->source); })()), "orderby", [], "any"falsefalsetrue198), 198$this->source), 'widget', ["id" => """attr" => ["class" => "order-by"]]);
  425.                 echo "
  426.                         </div>
  427.                     </div>
  428.                     ";
  429.             }
  430.             // line 202
  431.             echo "                </div>
  432.             </div>
  433.         </div>
  434.         ";
  435.             // line 205
  436.             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.'205$this->source); })()), "totalItemCount", [], "any"falsefalsetrue205) > 0)) {
  437.                 // line 206
  438.                 echo "            <div class=\"ec-shelfRole\" id=\"products-area\">
  439.                 <ul class=\"ec-shelfGrid\">
  440.                     ";
  441.                 // line 208
  442.                 $context['_parent'] = $context;
  443.                 $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'208$this->source); })()));
  444.                 $context['loop'] = [
  445.                   'parent' => $context['_parent'],
  446.                   'index0' => 0,
  447.                   'index'  => 1,
  448.                   'first'  => true,
  449.                 ];
  450.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  451.                     $length count($context['_seq']);
  452.                     $context['loop']['revindex0'] = $length 1;
  453.                     $context['loop']['revindex'] = $length;
  454.                     $context['loop']['length'] = $length;
  455.                     $context['loop']['last'] = === $length;
  456.                 }
  457.                 foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  458.                     // line 209
  459.                     echo "                        <li class=\"ec-shelfGrid__item\">
  460.                             <a href=\"";
  461.                     // line 210
  462.                     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"falsefalsetrue210)]), "html"nulltrue);
  463.                     echo "\">
  464.                                 <div class=\"product-detailarea flex\">
  465.                                     <div class=\"listphoto\">
  466.                                         <div class=\"listphotoarea\">
  467.                                             <p class=\"ec-shelfGrid__item-image\">
  468.                                                 <img src=\"";
  469.                     // line 215
  470.                     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"falsefalsetrue215), 215$this->source)), "save_image"), "html"nulltrue);
  471.                     echo "\" alt=\"";
  472.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsetrue215), 215$this->source), "html"nulltrue);
  473.                     echo "\" ";
  474.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue215) > 5)) {
  475.                         echo " loading=\"lazy\"";
  476.                     }
  477.                     echo ">
  478.                                             </p>
  479.                                         </div>
  480.                                     </div>
  481.                                     <div class=\"product-ttlarea\">
  482.                                         ";
  483.                     // line 232
  484.                     echo "                                        <!-- 書籍タイトル -->
  485.                                         <div class=\"product-ttl\">
  486.                                         ";
  487.                     // line 234
  488.                     if (twig_get_attribute($this->env$this->source$context["Product"], "sub_name_up", [], "any"falsefalsetrue234)) {
  489.                         // line 235
  490.                         echo "                                            <p>";
  491.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "sub_name_up", [], "any"falsefalsetrue235), 235$this->source), "html"nulltrue);
  492.                         echo "</p>
  493.                                         ";
  494.                     }
  495.                     // line 237
  496.                     echo "                                        <h3>";
  497.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsetrue237), 237$this->source), "html"nulltrue);
  498.                     echo "</h3>
  499.                                         ";
  500.                     // line 238
  501.                     if (twig_get_attribute($this->env$this->source$context["Product"], "sub_name_down", [], "any"falsefalsetrue238)) {
  502.                         // line 239
  503.                         echo "                                            <p>";
  504.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "sub_name_down", [], "any"falsefalsetrue239), 239$this->source), "html"nulltrue);
  505.                         echo "</p>
  506.                                         ";
  507.                     }
  508.                     // line 241
  509.                     echo "                                        </div>
  510.                                         <!-- 価格 -->
  511.                                         <div class=\"productlist-pricebox\">
  512.                                             <p class=\"price02-default\">
  513.                                                 定価:
  514.                                                 <span class=\"price sale_price\">
  515.                                                 ";
  516.                     // line 248
  517.                     if (twig_get_attribute($this->env$this->source$context["Product"], "hasProductClass", [], "any"falsefalsetrue248)) {
  518.                         // line 249
  519.                         echo "                                                    ";
  520.                         if ((twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Min", [], "any"falsefalsetrue249) == twig_get_attribute($this->env$this->source$context["Product"], "getPrice02Max", [], "any"falsefalsetrue249))) {
  521.                             // line 250
  522.                             echo "                                                        ";
  523.                             echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue250), 250$this->source)), "html"nulltrue);
  524.                             echo "
  525.                                                     ";
  526.                         } else {
  527.                             // line 252
  528.                             echo "                                                        ";
  529.                             echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue252), 252$this->source)), "html"nulltrue);
  530.                             echo " ~ ";
  531.                             echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMax", [], "any"falsefalsetrue252), 252$this->source)), "html"nulltrue);
  532.                             echo "
  533.                                                     ";
  534.                         }
  535.                         // line 254
  536.                         echo "                                                ";
  537.                     } else {
  538.                         // line 255
  539.                         echo "                                                    ";
  540.                         echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "getPrice02IncTaxMin", [], "any"falsefalsetrue255), 255$this->source)), "html"nulltrue);
  541.                         echo "
  542.                                                 ";
  543.                     }
  544.                     // line 257
  545.                     echo "                                                円</span>
  546.                                                 (税込)
  547.                                             </p>
  548.                                         </div>
  549.                                     </div>
  550.                                 </div>
  551.                             </a>
  552.                             <!-- 買い物かご -->
  553.                             <div class=\"productlist-cartarea only-pc\">
  554. \t\t\t\t\t\t\t\t <!--★商品詳細を見る★-->
  555. \t\t\t                    <div class=\"detail_btn\">
  556. \t\t\t                        <a class=\"rgreen-btn__s\" href=\"";
  557.                     // line 269
  558.                     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"falsefalsetrue269)]), "html"nulltrue);
  559.                     echo "\">
  560. \t\t\t                            商品詳細を見る
  561. \t\t\t                        </a>
  562. \t\t\t                    </div>
  563.                             ";
  564.                     // line 274
  565.                     if (twig_get_attribute($this->env$this->source$context["Product"], "stock_find", [], "any"falsefalsetrue274)) {
  566.                         // line 275
  567.                         echo "                                ";
  568.                         $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.'275$this->source); })()), twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue275), [], "array"falsefalsetrue275);
  569.                         // line 276
  570.                         echo "                                <form name=\"form";
  571.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue276), 276$this->source), "html"nulltrue);
  572.                         echo "\" id=\"productForm";
  573.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue276), 276$this->source), "html"nulltrue);
  574.                         echo "\" action=\"";
  575.                         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"falsefalsetrue276)]), "html"nulltrue);
  576.                         echo "\" method=\"post\">
  577.                                     <div class=\"ec-productRole__actions\">
  578.                                         ";
  579.                         // line 278
  580.                         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue278)) {
  581.                             // line 279
  582.                             echo "                                        <div class=\"classlist\">
  583.                                             <div class=\"ec-select\">
  584.                                                 ";
  585.                             // line 281
  586.                             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_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.'281$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue281), "vars", [], "any"falsefalsetrue281), "label", [], "any"falsefalsetrue281), 281$this->source), "html"nulltrue);
  587.                             echo ":
  588.                                                 ";
  589.                             // line 282
  590.                             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.'282$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue282), 282$this->source), 'widget');
  591.                             echo "
  592.                                                 ";
  593.                             // line 283
  594.                             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.'283$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue283), 283$this->source), 'errors');
  595.                             echo "
  596.                                             </div>
  597.                                             ";
  598.                             // line 285
  599.                             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue285)) {
  600.                                 // line 286
  601.                                 echo "                                                <div class=\"ec-select\">
  602.                                                     ";
  603.                                 // line 287
  604.                                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_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.'287$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue287), "vars", [], "any"falsefalsetrue287), "label", [], "any"falsefalsetrue287), 287$this->source), "html"nulltrue);
  605.                                 echo ":
  606.                                                     ";
  607.                                 // line 288
  608.                                 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.'288$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue288), 288$this->source), 'widget');
  609.                                 echo "
  610.                                                     ";
  611.                                 // line 289
  612.                                 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.'289$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue289), 289$this->source), 'errors');
  613.                                 echo "
  614.                                                 </div>
  615.                                             ";
  616.                             }
  617.                             // line 292
  618.                             echo "                                        </div>
  619.                                         ";
  620.                         }
  621.                         // line 294
  622.                         echo "                                        <div class=\"ec-numberInput\"><span>数量:</span>
  623.                                             ";
  624.                         // line 295
  625.                         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.'295$this->source); })()), "quantity", [], "any"falsefalsetrue295), 295$this->source), 'widget', ["attr" => ["class" => "quantity"]]);
  626.                         echo "
  627.                                             ";
  628.                         // line 296
  629.                         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.'296$this->source); })()), "quantity", [], "any"falsefalsetrue296), 296$this->source), 'errors');
  630.                         echo "
  631.                                         </div>
  632.                                     </div>
  633.                                     ";
  634.                         // line 299
  635.                         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.'299$this->source); })()), 299$this->source), 'rest');
  636.                         echo "
  637.                                 </form>
  638.                                 <div class=\"ec-productRole__btn\">
  639.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart orange-btn__s\" data-cartid=\"";
  640.                         // line 302
  641.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue302), 302$this->source), "html"nulltrue);
  642.                         echo "\" form=\"productForm";
  643.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsetrue302), 302$this->source), "html"nulltrue);
  644.                         echo "\">
  645.                                         カゴに入れる
  646.                                     </button>
  647.                                 </div>
  648.                             ";
  649.                     } else {
  650.                         // line 307
  651.                         echo "                                <div class=\"attention\">
  652.                                     ";
  653.                         // line 308
  654.                         $context["targettag"] = [];
  655.                         // line 309
  656.                         echo "                                    ";
  657.                         $context['_parent'] = $context;
  658.                         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["Product"], "Tags", [], "any"falsefalsetrue309));
  659.                         foreach ($context['_seq'] as $context["_key"] => $context["tag"]) {
  660.                             // line 310
  661.                             echo "                                        ";
  662.                             $context["targettag"] = twig_array_merge($this->sandbox->ensureToStringAllowed((isset($context["targettag"]) || array_key_exists("targettag"$context) ? $context["targettag"] : (function () { throw new RuntimeError('Variable "targettag" does not exist.'310$this->source); })()), 310$this->source), [=> twig_get_attribute($this->env$this->source$context["tag"], "id", [], "any"falsefalsetrue310)]);
  663.                             // line 311
  664.                             echo "                                    ";
  665.                         }
  666.                         $_parent $context['_parent'];
  667.                         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tag'], $context['_parent'], $context['loop']);
  668.                         $context array_intersect_key($context$_parent) + $_parent;
  669.                         // line 312
  670.                         echo "                                    ";
  671.                         if (twig_in_filter("7", (isset($context["targettag"]) || array_key_exists("targettag"$context) ? $context["targettag"] : (function () { throw new RuntimeError('Variable "targettag" does not exist.'312$this->source); })()))) {
  672.                             // line 313
  673.                             echo "                                    申し訳ございませんが、本商品は絶版となりました。
  674.                                     ";
  675.                         } elseif (twig_in_filter("5",                         // line 314
  676. (isset($context["targettag"]) || array_key_exists("targettag"$context) ? $context["targettag"] : (function () { throw new RuntimeError('Variable "targettag" does not exist.'314$this->source); })()))) {
  677.                             // line 315
  678.                             echo "                                    この商品は発売前のため購入いただけません。
  679.                                     ";
  680.                         } else {
  681.                             // line 317
  682.                             echo "                                    申し訳ございませんが、本商品は只今品切れ中です。
  683.                                     ";
  684.                         }
  685.                         // line 319
  686.                         echo "                                </div>
  687.                             ";
  688.                     }
  689.                     // line 321
  690.                     echo "                            </div>
  691.                         </li>
  692.                     ";
  693.                     ++$context['loop']['index0'];
  694.                     ++$context['loop']['index'];
  695.                     $context['loop']['first'] = false;
  696.                     if (isset($context['loop']['length'])) {
  697.                         --$context['loop']['revindex0'];
  698.                         --$context['loop']['revindex'];
  699.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  700.                     }
  701.                 }
  702.                 $_parent $context['_parent'];
  703.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  704.                 $context array_intersect_key($context$_parent) + $_parent;
  705.                 // line 324
  706.                 echo "                </ul>
  707.             </div>
  708.             <div class=\"ec-modal\">
  709.                 <div class=\"ec-modal-overlay\">
  710.                     <div class=\"ec-modal-wrap\">
  711.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  712.                 // line 329
  713.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  714.                 echo "\" alt=\"\"/></span></span>
  715.                         <div id=\"ec-modal-header\" class=\"text-center\">";
  716.                 // line 330
  717.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  718.                 echo "</div>
  719.                         <div class=\"ec-modal-box\">
  720.                             <div class=\"ec-role\">
  721.                                 <span class=\"ec-inlineBtn--cancel\">";
  722.                 // line 333
  723.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  724.                 echo "</span>
  725.                                 <a href=\"";
  726.                 // line 334
  727.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  728.                 echo "\" class=\"ec-inlineBtn--action\">";
  729.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  730.                 echo "</a>
  731.                             </div>
  732.                         </div>
  733.                     </div>
  734.                 </div>
  735.             </div>
  736.             ";
  737.                 // line 341
  738.                 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.'341$this->source); })()), "totalItemCount", [], "any"falsefalsetrue341) > 0)) {
  739.                     // line 342
  740.                     echo "            <div class=\"ec-pagerRole\">
  741.                 ";
  742.                     // line 343
  743.                     $this->loadTemplate("pager.twig""Product/list.twig"343)->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.'343$this->source); })()), "paginationData", [], "any"falsefalsetrue343)]));
  744.                     // line 344
  745.                     echo "            </div>
  746.             ";
  747.                 }
  748.                 // line 346
  749.                 echo "        ";
  750.             }
  751.             // line 347
  752.             echo "    ";
  753.         }
  754.         
  755.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  756.         
  757.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  758.     }
  759.     public function getTemplateName()
  760.     {
  761.         return "Product/list.twig";
  762.     }
  763.     public function isTraitable()
  764.     {
  765.         return false;
  766.     }
  767.     public function getDebugInfo()
  768.     {
  769.         return array (  796 => 347,  793 => 346,  789 => 344,  787 => 343,  784 => 342,  782 => 341,  770 => 334,  766 => 333,  760 => 330,  756 => 329,  749 => 324,  733 => 321,  729 => 319,  725 => 317,  721 => 315,  719 => 314,  716 => 313,  713 => 312,  707 => 311,  704 => 310,  699 => 309,  697 => 308,  694 => 307,  684 => 302,  678 => 299,  672 => 296,  668 => 295,  665 => 294,  661 => 292,  655 => 289,  651 => 288,  647 => 287,  644 => 286,  642 => 285,  637 => 283,  633 => 282,  629 => 281,  625 => 279,  623 => 278,  613 => 276,  610 => 275,  608 => 274,  600 => 269,  586 => 257,  580 => 255,  577 => 254,  569 => 252,  563 => 250,  560 => 249,  558 => 248,  549 => 241,  543 => 239,  541 => 238,  536 => 237,  530 => 235,  528 => 234,  524 => 232,  509 => 215,  501 => 210,  498 => 209,  481 => 208,  477 => 206,  475 => 205,  470 => 202,  463 => 198,  459 => 197,  455 => 195,  453 => 194,  450 => 193,  444 => 191,  438 => 189,  436 => 188,  427 => 181,  422 => 179,  419 => 178,  416 => 177,  413 => 176,  392 => 173,  386 => 172,  383 => 171,  365 => 170,  363 => 169,  356 => 167,  350 => 163,  344 => 160,  341 => 159,  339 => 158,  331 => 154,  328 => 153,  325 => 152,  323 => 151,  317 => 147,  305 => 145,  301 => 144,  296 => 143,  292 => 142,  288 => 140,  282 => 137,  279 => 136,  276 => 135,  266 => 134,  227 => 103,  217 => 102,  187 => 82,  177 => 75,  146 => 47,  118 => 21,  104 => 20,  96 => 19,  79 => 18,  75 => 16,  65 => 15,  54 => 11,  52 => 13,  39 => 11,);
  770.     }
  771.     public function getSourceContext()
  772.     {
  773.         return new Source("{#
  774. This file is part of EC-CUBE
  775. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  776. http://www.ec-cube.co.jp/
  777. For the full copyright and license information, please view the LICENSE
  778. file that was distributed with this source code.
  779. #}
  780. {% extends 'default_frame.twig' %}
  781. {% set body_class = 'product_page' %}
  782. {% block javascript %}
  783.     <script>
  784.         eccube.productsClassCategories = {
  785.             {% for Product in pagination %}
  786.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  787.             {% endfor %}
  788.         };
  789.         \$(function() {
  790.             // 表示件数を変更
  791.             \$('.disp-number').change(function() {
  792.                 var dispNumber = \$(this).val();
  793.                 \$('#disp_number').val(dispNumber);
  794.                 \$('#pageno').val(1);
  795.                 \$(\"#form1\").submit();
  796.             });
  797.             // 並び順を変更
  798.             \$('.order-by').change(function() {
  799.                 var orderBy = \$(this).val();
  800.                 \$('#orderby').val(orderBy);
  801.                 \$('#pageno').val(1);
  802.                 \$(\"#form1\").submit();
  803.             });
  804.             \$('.add-cart').on('click', function(e) {
  805.                 var \$form = \$(this).parents('li').find('form');
  806.                 // 個数フォームのチェック
  807.                 var \$quantity = \$form.parent().find('.quantity');
  808.                 if (\$quantity.val() < 1) {
  809.                     \$quantity[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  810.                     setTimeout(function() {
  811.                         loadingOverlay('hide');
  812.                     }, 100);
  813.                     return true;
  814.                 } else {
  815.                     \$quantity[0].setCustomValidity('');
  816.                 }
  817.                 e.preventDefault();
  818.                 \$.ajax({
  819.                     url: \$form.attr('action'),
  820.                     type: \$form.attr('method'),
  821.                     data: \$form.serialize(),
  822.                     dataType: 'json',
  823.                     beforeSend: function(xhr, settings) {
  824.                         // Buttonを無効にする
  825.                         \$('.add-cart').prop('disabled', true);
  826.                     }
  827.                 }).done(function(data) {
  828.                     // レスポンス内のメッセージをalertで表示
  829.                     \$.each(data.messages, function() {
  830.                         \$('#ec-modal-header').text(this);
  831.                     });
  832.                     \$('.ec-modal').show()
  833.                     // カートブロックを更新する
  834.                     \$.ajax({
  835.                         url: '{{ url('block_cart') }}',
  836.                         type: 'GET',
  837.                         dataType: 'html'
  838.                     }).done(function(html) {
  839.                         \$('.ec-headerRole__cart').html(html);
  840.                     });
  841.                 }).fail(function(data) {
  842.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  843.                 }).always(function(data) {
  844.                     // Buttonを有効にする
  845.                     \$('.add-cart').prop('disabled', false);
  846.                 });
  847.             });
  848.         });
  849.         \$('.ec-modal-wrap').on('click', function(e) {
  850.             // モーダル内の処理は外側にバブリングさせない
  851.             e.stopPropagation();
  852.         });
  853.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  854.             \$('.ec-modal').hide()
  855.         });
  856.     </script>
  857. {% endblock %}
  858. {% block stylesheet %}
  859. <style>
  860. #page_product_list .ec-shelfRole#products-area .ec-shelfGrid .ec-shelfGrid__item{
  861.     justify-content: space-between;
  862. }
  863. #page_product_list .ec-shelfRole#products-area .ec-shelfGrid .ec-shelfGrid__item > a{
  864.     display: flex;
  865.     height: 100%;
  866. }
  867. @media only screen and (min-width: 768px){
  868. #page_product_list .ec-shelfRole#products-area .ec-shelfGrid .ec-shelfGrid__item > a > div{
  869.     flex-direction: column;
  870. }
  871. }
  872. .product-ttlarea{
  873.     display: flex;
  874.     flex-direction: column;
  875.     justify-content: space-between;
  876.     flex: auto;
  877. }
  878. .listphoto{
  879.     display: flex;
  880.     flex: 1;
  881.     aspect-ratio: 218 / 309.67;
  882. }
  883. .product-ttl{
  884.     margin-top: 0;
  885. }
  886. </style>
  887. {% endblock stylesheet %}
  888. {% block main %}
  889.     {% if search_form.category_id.vars.errors|length > 0 %}
  890.         <div class=\"ec-searchnavRole\">
  891.             <p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
  892.         </div>
  893.     {% else %}
  894.         <div class=\"ec-searchnavRole\">
  895.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  896.                 {% for item in search_form %}
  897.                     <input type=\"hidden\" id=\"{{ item.vars.id }}\"
  898.                            name=\"{{ item.vars.full_name }}\"
  899.                            {% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
  900.                 {% endfor %}
  901.             </form>
  902.             <!--★タイトル★-->
  903.             <h2 class=\"title\">
  904.                 {% if search_form.vars.value and search_form.vars.value.name %}
  905.                 {% set subtitle = \"書籍検索結果\" %}
  906.                 {% endif %}
  907.                 {{ subtitle }}
  908.             </h2>
  909.             <!--▼検索条件-->
  910.             {% if search_form.vars.value and search_form.vars.value.name %}
  911.             <ul class=\"pagecond_area\">
  912.                 <li><strong>検索キーワード:</strong>{{ search_form.vars.value.name }}</li>
  913.             </ul>
  914.             {% endif %}
  915.             <!--
  916.             <div class=\"ec-searchnavRole__topicpath\">
  917.                 <ol class=\"ec-topicpath\">
  918.                     <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a>
  919.                     </li>
  920.                     {% if Category is not null %}
  921.                         {% for Path in Category.path %}
  922.                             <li class=\"ec-topicpath__divider\">|</li>
  923.                             <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\"><a
  924.                                         href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  925.                             </li>
  926.                         {% endfor %}
  927.                     {% endif %}
  928.                     {% if search_form.vars.value and search_form.vars.value.name %}
  929.                         <li class=\"ec-topicpath__divider\">|</li>
  930.                         <li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
  931.                     {% endif %}
  932.                 </ol>
  933.             </div>
  934.             -->
  935.             <div class=\"ec-searchnavRole__infos pagenumber_area\">
  936.                 <div class=\"pagination-area flex\">
  937.                     <div class=\"ec-searchnavRole__counter\">
  938.                         {% if pagination.totalItemCount > 0 %}
  939.                             {{ '<span class=\"ec-font-bold attention\">%count%件</span><span>の商品がございます。</span>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  940.                         {% else %}
  941.                             <span>{{ 'お探しの商品は見つかりませんでした'|trans }}</span>
  942.                         {% endif %}
  943.                     </div>
  944.                     {% if pagination.totalItemCount > 0 %}
  945.                     <div class=\"ec-searchnavRole__actions\">
  946.                         <div class=\"ec-select\">
  947.                             {{ form_widget(search_form.disp_number, {'id': '', 'attr': {'class': 'disp-number'}}) }}
  948.                             {{ form_widget(search_form.orderby, {'id': '', 'attr': {'class': 'order-by'}}) }}
  949.                         </div>
  950.                     </div>
  951.                     {% endif %}
  952.                 </div>
  953.             </div>
  954.         </div>
  955.         {% if pagination.totalItemCount > 0 %}
  956.             <div class=\"ec-shelfRole\" id=\"products-area\">
  957.                 <ul class=\"ec-shelfGrid\">
  958.                     {% for Product in pagination %}
  959.                         <li class=\"ec-shelfGrid__item\">
  960.                             <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  961.                                 <div class=\"product-detailarea flex\">
  962.                                     <div class=\"listphoto\">
  963.                                         <div class=\"listphotoarea\">
  964.                                             <p class=\"ec-shelfGrid__item-image\">
  965.                                                 <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" {% if loop.index > 5 %} loading=\"lazy\"{% endif %}>
  966.                                             </p>
  967.                                         </div>
  968.                                     </div>
  969.                                     <div class=\"product-ttlarea\">
  970.                                         {# タグ
  971.                                         {% if Product.Tags is not null %}
  972.                                             {% for Tag in Product.Tags %}
  973.                                                 {% if Tag.id == '1' %}
  974.                                                 <ul class=\"ec-productRole__tags flex\">
  975.                                                     <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  976.                                                 </ul>
  977.                                                 {% endif %}
  978.                                             {% endfor %}
  979.                                         {% endif %}
  980.                                         #}
  981.                                         <!-- 書籍タイトル -->
  982.                                         <div class=\"product-ttl\">
  983.                                         {% if Product.sub_name_up %}
  984.                                             <p>{{ Product.sub_name_up }}</p>
  985.                                         {% endif %}
  986.                                         <h3>{{ Product.name }}</h3>
  987.                                         {% if Product.sub_name_down %}
  988.                                             <p>{{ Product.sub_name_down }}</p>
  989.                                         {% endif %}
  990.                                         </div>
  991.                                         <!-- 価格 -->
  992.                                         <div class=\"productlist-pricebox\">
  993.                                             <p class=\"price02-default\">
  994.                                                 定価:
  995.                                                 <span class=\"price sale_price\">
  996.                                                 {% if Product.hasProductClass %}
  997.                                                     {% if Product.getPrice02Min == Product.getPrice02Max %}
  998.                                                         {{ Product.getPrice02IncTaxMin|number_format }}
  999.                                                     {% else %}
  1000.                                                         {{ Product.getPrice02IncTaxMin|number_format }} ~ {{ Product.getPrice02IncTaxMax|number_format }}
  1001.                                                     {% endif %}
  1002.                                                 {% else %}
  1003.                                                     {{ Product.getPrice02IncTaxMin|number_format }}
  1004.                                                 {% endif %}
  1005.                                                 円</span>
  1006.                                                 (税込)
  1007.                                             </p>
  1008.                                         </div>
  1009.                                     </div>
  1010.                                 </div>
  1011.                             </a>
  1012.                             <!-- 買い物かご -->
  1013.                             <div class=\"productlist-cartarea only-pc\">
  1014. \t\t\t\t\t\t\t\t <!--★商品詳細を見る★-->
  1015. \t\t\t                    <div class=\"detail_btn\">
  1016. \t\t\t                        <a class=\"rgreen-btn__s\" href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  1017. \t\t\t                            商品詳細を見る
  1018. \t\t\t                        </a>
  1019. \t\t\t                    </div>
  1020.                             {% if Product.stock_find %}
  1021.                                 {% set form = forms[Product.id] %}
  1022.                                 <form name=\"form{{ Product.id }}\" id=\"productForm{{ Product.id }}\" action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\">
  1023.                                     <div class=\"ec-productRole__actions\">
  1024.                                         {% if form.classcategory_id1 is defined %}
  1025.                                         <div class=\"classlist\">
  1026.                                             <div class=\"ec-select\">
  1027.                                                 {{form.classcategory_id1.vars.label }}:
  1028.                                                 {{ form_widget(form.classcategory_id1) }}
  1029.                                                 {{ form_errors(form.classcategory_id1) }}
  1030.                                             </div>
  1031.                                             {% if form.classcategory_id2 is defined %}
  1032.                                                 <div class=\"ec-select\">
  1033.                                                     {{form.classcategory_id2.vars.label }}:
  1034.                                                     {{ form_widget(form.classcategory_id2) }}
  1035.                                                     {{ form_errors(form.classcategory_id2) }}
  1036.                                                 </div>
  1037.                                             {% endif %}
  1038.                                         </div>
  1039.                                         {% endif %}
  1040.                                         <div class=\"ec-numberInput\"><span>数量:</span>
  1041.                                             {{ form_widget(form.quantity, {'attr': {'class': 'quantity'}}) }}
  1042.                                             {{ form_errors(form.quantity) }}
  1043.                                         </div>
  1044.                                     </div>
  1045.                                     {{ form_rest(form) }}
  1046.                                 </form>
  1047.                                 <div class=\"ec-productRole__btn\">
  1048.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart orange-btn__s\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\">
  1049.                                         カゴに入れる
  1050.                                     </button>
  1051.                                 </div>
  1052.                             {% else %}
  1053.                                 <div class=\"attention\">
  1054.                                     {% set targettag = [] %}
  1055.                                     {% for tag in Product.Tags %}
  1056.                                         {% set targettag = targettag|merge([tag.id]) %}
  1057.                                     {% endfor %}
  1058.                                     {% if '7' in targettag %}
  1059.                                     申し訳ございませんが、本商品は絶版となりました。
  1060.                                     {% elseif '5' in targettag %}
  1061.                                     この商品は発売前のため購入いただけません。
  1062.                                     {% else %}
  1063.                                     申し訳ございませんが、本商品は只今品切れ中です。
  1064.                                     {% endif %}
  1065.                                 </div>
  1066.                             {% endif %}
  1067.                             </div>
  1068.                         </li>
  1069.                     {% endfor %}
  1070.                 </ul>
  1071.             </div>
  1072.             <div class=\"ec-modal\">
  1073.                 <div class=\"ec-modal-overlay\">
  1074.                     <div class=\"ec-modal-wrap\">
  1075.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1076.                         <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1077.                         <div class=\"ec-modal-box\">
  1078.                             <div class=\"ec-role\">
  1079.                                 <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1080.                                 <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1081.                             </div>
  1082.                         </div>
  1083.                     </div>
  1084.                 </div>
  1085.             </div>
  1086.             {% if pagination.totalItemCount > 0 %}
  1087.             <div class=\"ec-pagerRole\">
  1088.                 {% include \"pager.twig\" with {'pages': pagination.paginationData} %}
  1089.             </div>
  1090.             {% endif %}
  1091.         {% endif %}
  1092.     {% endif %}
  1093. {% endblock %}""Product/list.twig""/home/higashiyamashobo/www/higashiyamashobo.jpn.org/ec-cube/app/template/default/Product/list.twig");
  1094.     }
  1095.     
  1096.     public function checkSecurity()
  1097.     {
  1098.         static $tags = array("set" => 13"for" => 18"if" => 19"include" => 343);
  1099.         static $filters = array("escape" => 19"raw" => 19"trans" => 47"length" => 135"no_image_product" => 215"number_format" => 250"merge" => 310);
  1100.         static $functions = array("class_categories_as_json" => 19"url" => 75"form_widget" => 197"asset" => 215"form_errors" => 283"form_rest" => 299);
  1101.         try {
  1102.             $this->sandbox->checkSecurity(
  1103.                 ['set''for''if''include'],
  1104.                 ['escape''raw''trans''length''no_image_product''number_format''merge'],
  1105.                 ['class_categories_as_json''url''form_widget''asset''form_errors''form_rest']
  1106.             );
  1107.         } catch (SecurityError $e) {
  1108.             $e->setSourceContext($this->source);
  1109.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  1110.                 $e->setTemplateLine($tags[$e->getTagName()]);
  1111.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  1112.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  1113.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  1114.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  1115.             }
  1116.             throw $e;
  1117.         }
  1118.     }
  1119. }