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