var/cache/dev/twig/92/920c9d72f711252a0167aaf5a18819c6de4402930ca31b42568ac204acab6288.php line 39

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Product/sale.twig */
  14. class __TwigTemplate_4122afaef6841cb4cba56ecc94b102269ddead6b231d1613ba9a6a6ef451f5a2 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'javascript' => [$this'block_javascript'],
  24.             'main' => [$this'block_main'],
  25.         ];
  26.     }
  27.     protected function doGetParent(array $context)
  28.     {
  29.         // line 11
  30.         return "default_frame.twig";
  31.     }
  32.     protected function doDisplay(array $context, array $blocks = [])
  33.     {
  34.         $macros $this->macros;
  35.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/sale.twig"));
  37.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/sale.twig"));
  39.         // line 13
  40.         $context["body_class"] = "product_page";
  41.         // line 11
  42.         $this->parent $this->loadTemplate("default_frame.twig""Product/sale.twig"11);
  43.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  44.         
  45.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  46.         
  47.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  48.     }
  49.     // line 15
  50.     public function block_javascript($context, array $blocks = [])
  51.     {
  52.         $macros $this->macros;
  53.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  55.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  57.         // line 16
  58.         echo "    <script>
  59.         eccube.productsClassCategories = {
  60.             ";
  61.         // line 18
  62.         $context['_parent'] = $context;
  63.         $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'18$this->source); })()));
  64.         $context['loop'] = [
  65.           'parent' => $context['_parent'],
  66.           'index0' => 0,
  67.           'index'  => 1,
  68.           'first'  => true,
  69.         ];
  70.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  71.             $length count($context['_seq']);
  72.             $context['loop']['revindex0'] = $length 1;
  73.             $context['loop']['revindex'] = $length;
  74.             $context['loop']['length'] = $length;
  75.             $context['loop']['last'] = === $length;
  76.         }
  77.         foreach ($context['_seq'] as $context["_key"] => $context["PinpointProduct"]) {
  78.             // line 19
  79.             echo "            ";
  80.             $context["Product"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["PinpointProduct"], "ProductClass", [], "any"falsefalsefalse19), "Product", [], "any"falsefalsefalse19);
  81.             // line 20
  82.             echo "            \"";
  83.             echo twig_escape_filter($this->envtwig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'20$this->source); })()), "id", [], "any"falsefalsefalse20), "js"), "html"nulltrue);
  84.             echo "\": ";
  85.             echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'20$this->source); })()));
  86.             if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse20) == false)) {
  87.                 echo ", ";
  88.             }
  89.             // line 21
  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['PinpointProduct'], $context['_parent'], $context['loop']);
  102.         $context array_intersect_key($context$_parent) + $_parent;
  103.         // line 22
  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.             var modalTimer;
  121.             \$('.add-cart').on('click', function(e) {
  122.                 var self = \$(this);
  123.                 onAddCart(e, \$(this), 1, function() {
  124.                     var \$form = self.parents('li');
  125.                     \$form.find(\".ec-productRole__btn--only\").addClass(\"d-none\");
  126.                     \$form.find(\".ec-productRole__btn--group\").removeClass(\"d-none\");
  127.                     window.clearTimeout(modalTimer);
  128.                     \$('.ec-modal').show()
  129.                     modalTimer = window.setTimeout(function() {
  130.                         \$('.ec-modal').hide();
  131.                     }, 1500)
  132.                 });
  133.             });
  134.             \$('.minus__btn').on('click', function(e) {
  135.                 onAddCart(e, \$(this), -1);
  136.             })
  137.             \$('.plus__btn').on('click', function(e) {
  138.                 onAddCart(e, \$(this));
  139.             })
  140.             function onAddCart(e, self, quantity = 1, callback) {
  141.                 var \$form = \$(self).parents('li').find('form.productForm');
  142.                 // 個数フォームのチェック
  143.                 \$form.parent().find('.quantity').val(quantity);
  144.                 e.preventDefault();
  145.                 \$.ajax({
  146.                     url: \$form.attr('action'),
  147.                     type: \$form.attr('method'),
  148.                     data: \$form.serialize(),
  149.                     dataType: 'json',
  150.                     beforeSend: function(xhr, settings) {
  151.                         // Buttonを無効にする
  152.                         \$(self).prop('disabled', true);
  153.                     }
  154.                 }).done(function(data) {
  155.                     // レスポンス内のメッセージをalertで表示
  156.                     \$.each(data.messages, function() {
  157.                         \$('#ec-modal-header').text(this);
  158.                     });
  159.                     var \$quantityLabelEl = \$(self).parents('li').find('.quantity_label');
  160.                     \$quantityLabelEl.text(\$quantityLabelEl.text() * 1 + quantity * 1);
  161.                     if(callback) {
  162.                         callback();
  163.                     }
  164.                     // カートブロックを更新する
  165.                     \$.ajax({
  166.                         url: '";
  167.         // line 93
  168.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  169.         echo "',
  170.                         type: 'GET',
  171.                         dataType: 'html'
  172.                     }).done(function(html) {
  173.                         \$('.ec-headerRole__cart').html(html);
  174.                     });
  175.                 }).fail(function(data) {
  176.                     alert('";
  177.         // line 100
  178.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  179.         echo "');
  180.                     \$(self).prop('disabled', false);
  181.                 }).always(function(data) {
  182.                     var \$parent = \$(self).parents('li');
  183.                     let stockVal = \$parent.find('.stock').val() * 1;
  184.                     var \$quantityLabelEl = \$parent.find('.quantity_label');
  185.                     var _quantity = \$quantityLabelEl.text() * 1;
  186.                     if(_quantity == 0) {
  187.                         // enable minus button
  188.                         \$(self).prop('disabled', false);
  189.                         \$parent.find(\".ec-productRole__btn--only\").removeClass(\"d-none\");
  190.                         \$parent.find(\".ec-productRole__btn--group\").addClass(\"d-none\");
  191.                     }
  192.                     if(_quantity > 0 && _quantity < stockVal) {
  193.                         // Buttonを有効にする
  194.                         \$(self).prop('disabled', false);
  195.                         \$parent.find('.plus__btn').prop('disabled', false);
  196.                     }
  197.                 });
  198.             }
  199.         });
  200.         \$('.ec-modal-wrap').on('click', function(e) {
  201.             // モーダル内の処理は外側にバブリングさせない
  202.             e.stopPropagation();
  203.         });
  204.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  205.             \$('.ec-modal').hide()
  206.         });
  207.     </script>
  208. ";
  209.         
  210.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  211.         
  212.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  213.     }
  214.     // line 135
  215.     public function block_main($context, array $blocks = [])
  216.     {
  217.         $macros $this->macros;
  218.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  219.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  220.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  221.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  222.         // line 136
  223.         echo "    <ul class=\"breadcrumb w-p\">
  224.         <li class=\"breadcrumb__item\">
  225.             <a href=\"";
  226.         // line 138
  227.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  228.         echo "\" class=\"breadcrumb__item__link\">
  229.                 ホーム
  230.             </a>
  231.         </li>
  232.         <li class=\"breadcrumb__item\">
  233.             <p class=\"breadcrumb__item__arrow\">></p>
  234.         </li>
  235.         <li class=\"breadcrumb__item\">
  236.             <p class=\"breadcrumb__item__text\">セール商品一覧</p>
  237.         </li>
  238.     </ul>
  239.     <div class=\"ec-pageHeader contentHeader\">
  240.         <h1>";
  241.         // line 150
  242.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("セール商品一覧"), "html"nulltrue);
  243.         echo "</h1>
  244.     </div>
  245.     ";
  246.         // line 152
  247.         if ((twig_length_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'152$this->source); })()), "category_id", [], "any"falsefalsefalse152), "vars", [], "any"falsefalsefalse152), "errors", [], "any"falsefalsefalse152)) > 0)) {
  248.             // line 153
  249.             echo "        <div class=\"ec-searchnavRole\">
  250.             <p class=\"errormsg text-danger\">";
  251.             // line 154
  252.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html"nulltrue);
  253.             echo "</p>
  254.         </div>
  255.     ";
  256.         } else {
  257.             // line 157
  258.             echo "        <div class=\"ec-searchnavRole\">
  259.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  260.                 ";
  261.             // line 159
  262.             $context['_parent'] = $context;
  263.             $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.'159$this->source); })()));
  264.             foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  265.                 // line 160
  266.                 echo "                    <input type=\"hidden\" id=\"";
  267.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse160), "id", [], "any"falsefalsefalse160), "html"nulltrue);
  268.                 echo "\"
  269.                            name=\"";
  270.                 // line 161
  271.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse161), "full_name", [], "any"falsefalsefalse161), "html"nulltrue);
  272.                 echo "\"
  273.                            ";
  274.                 // line 162
  275.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse162), "value", [], "any"falsefalsefalse162))) {
  276.                     echo "value=\"";
  277.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse162), "value", [], "any"falsefalsefalse162), "html"nulltrue);
  278.                     echo "\" ";
  279.                 }
  280.                 echo "/>
  281.                 ";
  282.             }
  283.             $_parent $context['_parent'];
  284.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  285.             $context array_intersect_key($context$_parent) + $_parent;
  286.             // line 164
  287.             echo "            </form>
  288.             ";
  289.             // line 183
  290.             echo "            <div class=\"ec-searchnavRole__infos\">
  291.                 <div class=\"ec-searchnavRole__counter\">
  292.                     ";
  293.             // line 185
  294.             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.'185$this->source); })()), "totalItemCount", [], "any"falsefalsefalse185) > 0)) {
  295.                 // line 186
  296.                 echo "                        <p class=\"ec-searchnavRole__counter__title\">検索結果</p>
  297.                         ";
  298.                 // line 187
  299.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<p class=\"ec-searchnavRole__counter__number\">%count%件</p>", ["%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.'187$this->source); })()), "totalItemCount", [], "any"falsefalsefalse187)]);
  300.                 echo "
  301.                     ";
  302.             } else {
  303.                 // line 189
  304.                 echo "                        <span class=\"\">";
  305.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの商品は見つかりませんでした"), "html"nulltrue);
  306.                 echo "</span>
  307.                     ";
  308.             }
  309.             // line 191
  310.             echo "                </div>
  311.                 ";
  312.             // line 192
  313.             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.'192$this->source); })()), "totalItemCount", [], "any"falsefalsefalse192) > 0)) {
  314.                 // line 193
  315.                 echo "                    <div class=\"ec-searchnavRole__actions\">
  316.                         <div class=\"ec-select\">
  317.                             ";
  318.                 // line 195
  319.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'195$this->source); })()), "disp_number", [], "any"falsefalsefalse195), 'widget', ["id" => """attr" => ["class" => "disp-number"]]);
  320.                 echo "
  321.                             ";
  322.                 // line 196
  323.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'196$this->source); })()), "orderby", [], "any"falsefalsefalse196), 'widget', ["id" => """attr" => ["class" => "order-by"]]);
  324.                 echo "
  325.                         </div>
  326.                     </div>
  327.                 ";
  328.             }
  329.             // line 200
  330.             echo "            </div>
  331.         </div>
  332.         <ul class=\"stockList\">
  333.             <li class=\"stockList__block\">
  334.                 <p class=\"stockList__block__text\">在庫あり:</p>
  335.                 <p class=\"stockList__block__mark\">◎</p>
  336.             </li>
  337.             <li class=\"stockList__block\">
  338.                 <p class=\"stockList__block__text\">残りわずか:</p>
  339.                 <p class=\"stockList__block__mark\">○</p>
  340.             </li>
  341.             <li class=\"stockList__block\">
  342.                 <p class=\"stockList__block__text\">取り寄せ:</p>
  343.                 <p class=\"stockList__block__mark\">■</p>
  344.             </li>
  345.         </ul>
  346.         ";
  347.             // line 216
  348.             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.'216$this->source); })()), "totalItemCount", [], "any"falsefalsefalse216) > 0)) {
  349.                 // line 217
  350.                 echo "            <div class=\"ec-shelfRole\">
  351.                 <ul class=\"ec-shelfGrid\">
  352.                     ";
  353.                 // line 219
  354.                 $context['_parent'] = $context;
  355.                 $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'219$this->source); })()));
  356.                 $context['loop'] = [
  357.                   'parent' => $context['_parent'],
  358.                   'index0' => 0,
  359.                   'index'  => 1,
  360.                   'first'  => true,
  361.                 ];
  362.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  363.                     $length count($context['_seq']);
  364.                     $context['loop']['revindex0'] = $length 1;
  365.                     $context['loop']['revindex'] = $length;
  366.                     $context['loop']['length'] = $length;
  367.                     $context['loop']['last'] = === $length;
  368.                 }
  369.                 foreach ($context['_seq'] as $context["_key"] => $context["PinpointProduct"]) {
  370.                     // line 220
  371.                     echo "                        ";
  372.                     $context["Product"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["PinpointProduct"], "ProductClass", [], "any"falsefalsefalse220), "Product", [], "any"falsefalsefalse220);
  373.                     // line 221
  374.                     echo "                        <li class=\"ec-shelfGrid__item\">
  375.                             <a href=\"";
  376.                     // line 222
  377.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'222$this->source); })()), "id", [], "any"falsefalsefalse222)]), "html"nulltrue);
  378.                     echo "\">
  379.                                 <div class=\"ec-shelfGrid__item-image\">
  380.                                     <img src=\"";
  381.                     // line 224
  382.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'224$this->source); })()), "main_list_image", [], "any"falsefalsefalse224)), "save_image"), "html"nulltrue);
  383.                     echo "\" alt=\"";
  384.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'224$this->source); })()), "name", [], "any"falsefalsefalse224), "html"nulltrue);
  385.                     echo "\" ";
  386.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse224) > 5)) {
  387.                         echo " loading=\"lazy\"";
  388.                     }
  389.                     echo ">
  390.                                     ";
  391.                     // line 225
  392.                     if ((twig_length_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'225$this->source); })()), "Tags", [], "any"falsefalsefalse225)) > 0)) {
  393.                         // line 226
  394.                         echo "                                    <ul class=\"ec-shelfGrid__item-tags\">
  395.                                         ";
  396.                         // line 227
  397.                         $context['_parent'] = $context;
  398.                         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'227$this->source); })()), "Tags", [], "any"falsefalsefalse227));
  399.                         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  400.                             // line 228
  401.                             echo "                                            <li class=\"ec-shelfGrid__item-tags__tag tag_";
  402.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse228), "html"nulltrue);
  403.                             echo "\">";
  404.                             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  405.                             echo "</li>
  406.                                         ";
  407.                         }
  408.                         $_parent $context['_parent'];
  409.                         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  410.                         $context array_intersect_key($context$_parent) + $_parent;
  411.                         // line 230
  412.                         echo "                                    </ul>
  413.                                     ";
  414.                     }
  415.                     // line 232
  416.                     echo "                                </div>
  417.                                 <p class=\"ec-shelfGrid__item-name\">";
  418.                     // line 233
  419.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'233$this->source); })()), "name", [], "any"falsefalsefalse233), "html"nulltrue);
  420.                     echo "</p>
  421.                                 ";
  422.                     // line 234
  423.                     if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_USER")) {
  424.                         // line 235
  425.                         echo "
  426.                                 <div class=\"ec-shelfGrid__item-stock\">
  427.                                     <div class=\"ec-shelfGrid__item-stock__block\">
  428.                                         <p class=\"ec-shelfGrid__item-stock__block__title\">
  429.                                             【発送目安】
  430.                                         </p>
  431.                                         <p class=\"ec-shelfGrid__item-stock__block__detail\">
  432.                                             ";
  433.                         // line 242
  434.                         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'242$this->source); })()), "getDeliveryDuration", [], "any"falsefalsefalse242)) {
  435.                             // line 243
  436.                             echo "                                                ";
  437.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'243$this->source); })()), "getDeliveryDuration", [], "any"falsefalsefalse243), "name", [], "any"falsefalsefalse243), "html"nulltrue);
  438.                             echo "
  439.                                             ";
  440.                         } else {
  441.                             // line 245
  442.                             echo "                                                指定なし
  443.                                             ";
  444.                         }
  445.                         // line 247
  446.                         echo "                                        </p>
  447.                                     </div>
  448.                                     <div class=\"ec-shelfGrid__item-stock__block\">
  449.                                         <p class=\"ec-shelfGrid__item-stock__block__title\">
  450.                                             【在庫】
  451.                                         </p>
  452.                                         ";
  453.                         // line 254
  454.                         echo "                                        <p class=\"ec-shelfGrid__item-stock__block__detail\">
  455.                                             ";
  456.                         // line 255
  457.                         if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'255$this->source); })()), "getStockUnlimitedMin", [], "any"falsefalsefalse255) || (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'255$this->source); })()), "getStockMin", [], "any"falsefalsefalse255) >= 10))) {
  458.                             // line 256
  459.                             echo "                                                ◎
  460.                                             ";
  461.                         } else {
  462.                             // line 258
  463.                             echo "                                                ";
  464.                             if (((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'258$this->source); })()), "getStockMin", [], "any"falsefalsefalse258) >= 1) && (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'258$this->source); })()), "getStockMin", [], "any"falsefalsefalse258) <= 9))) {
  465.                                 // line 259
  466.                                 echo "                                                    ○
  467.                                                 ";
  468.                             }
  469.                             // line 261
  470.                             echo "                                                ";
  471.                             if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'261$this->source); })()), "getStockMin", [], "any"falsefalsefalse261) <= 0)) {
  472.                                 // line 262
  473.                                 echo "                                                    ■
  474.                                                 ";
  475.                             }
  476.                             // line 264
  477.                             echo "                                            ";
  478.                         }
  479.                         // line 265
  480.                         echo "                                        </p>
  481.                                     </div>
  482.                                 </div>
  483.                                 ";
  484.                         // line 273
  485.                         echo "                                ";
  486.                         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'273$this->source); })()), "description_list", [], "any"falsefalsefalse273)) {
  487.                             // line 274
  488.                             echo "                                    <p>";
  489.                             echo twig_nl2br(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'274$this->source); })()), "description_list", [], "any"falsefalsefalse274));
  490.                             echo "</p>
  491.                                 ";
  492.                         }
  493.                         // line 276
  494.                         echo "                                <div class=\"ec-shelfGrid__item-flex\">
  495.                                     <p class=\"price02-default ec-shelfGrid__item-price\">
  496.                                         ";
  497.                         // line 278
  498.                         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'278$this->source); })()), "isInSale", [], "any"falsefalsefalse278)) {
  499.                             // line 279
  500.                             echo "                                            <span class=\"ec-shelfGrid__item-price__sale\">セール商品</span>
  501.                                         ";
  502.                         }
  503.                         // line 281
  504.                         echo "                                        ";
  505.                         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'281$this->source); })()), "hasProductClass", [], "any"falsefalsefalse281)) {
  506.                             // line 282
  507.                             echo "                                            ";
  508.                             if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'282$this->source); })()), "getPrice02Min", [], "any"falsefalsefalse282) == twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'282$this->source); })()), "getPrice02Max", [], "any"falsefalsefalse282))) {
  509.                                 // line 283
  510.                                 echo "                                                ";
  511.                                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'283$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse283)), "html"nulltrue);
  512.                                 echo "
  513.                                             ";
  514.                             } else {
  515.                                 // line 285
  516.                                 echo "                                                ";
  517.                                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'285$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse285)), "html"nulltrue);
  518.                                 echo " ~ ";
  519.                                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'285$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse285)), "html"nulltrue);
  520.                                 echo "
  521.                                             ";
  522.                             }
  523.                             // line 287
  524.                             echo "                                        ";
  525.                         } else {
  526.                             // line 288
  527.                             echo "                                            ";
  528.                             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'288$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse288)), "html"nulltrue);
  529.                             echo "
  530.                                         ";
  531.                         }
  532.                         // line 290
  533.                         echo "                                    </p>
  534.                                     <div class=\"ec-shelfGrid__item-flex__favorite\">
  535.                                         <form class=\"ec-favoriteForm\" action=\"?\" method=\"?\">
  536.                                             <div class=\"ec-productRole__btn\">
  537.                                                 <button data-method=\"POST\" data-action=\"";
  538.                         // line 294
  539.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_favorite", ["id" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'294$this->source); })()), "id", [], "any"falsefalsefalse294)]), "html"nulltrue);
  540.                         echo "\" id=\"favorite\" class=\"";
  541.                         if ((twig_get_attribute($this->env$this->source, ($context["isFavorite"] ?? null), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'294$this->source); })()), "id", [], "any"falsefalsefalse294), [], "array"truetruefalse294) && (twig_get_attribute($this->env$this->source, (isset($context["isFavorite"]) || array_key_exists("isFavorite"$context) ? $context["isFavorite"] : (function () { throw new RuntimeError('Variable "isFavorite" does not exist.'294$this->source); })()), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'294$this->source); })()), "id", [], "any"falsefalsefalse294), [], "array"falsefalsefalse294) == true))) {
  542.                             echo " d-none ";
  543.                         }
  544.                         echo " ec-blockFavoriteBtn ec-blockBtn--cancel ec-shelfGrid__item-flex__favorite__btn\">
  545.                                                     <img src=\"";
  546.                         // line 295
  547.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/favorite/before.svg"), "html"nulltrue);
  548.                         echo "\" alt=\"お気に入り\" width=\"24\" height=\"24\" loading=\"lazy\">
  549.                                                 </button>
  550.                                                 <button data-method=\"DELETE\" data-action=\"";
  551.                         // line 297
  552.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_favorite_delete", ["id" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'297$this->source); })()), "id", [], "any"falsefalsefalse297)]), "html"nulltrue);
  553.                         echo "\" id=\"favorite\" class=\"";
  554.                         if ((twig_get_attribute($this->env$this->source, ($context["isFavorite"] ?? null), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'297$this->source); })()), "id", [], "any"falsefalsefalse297), [], "array"truetruefalse297) && (twig_get_attribute($this->env$this->source, (isset($context["isFavorite"]) || array_key_exists("isFavorite"$context) ? $context["isFavorite"] : (function () { throw new RuntimeError('Variable "isFavorite" does not exist.'297$this->source); })()), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'297$this->source); })()), "id", [], "any"falsefalsefalse297), [], "array"falsefalsefalse297) == false))) {
  555.                             echo " d-none ";
  556.                         }
  557.                         echo "ec-blockFavoriteBtnDisable ec-blockBtn--cancel ec-shelfGrid__item-flex__favorite__btn\">
  558.                                                    <img src=\"";
  559.                         // line 298
  560.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/favorite/after.svg"), "html"nulltrue);
  561.                         echo "\" alt=\"お気に入り\" width=\"24\" height=\"24\" loading=\"lazy\">
  562.                                                 </button>
  563.                                             </div>
  564.                                         </form>
  565.                                     </div>
  566.                                 </div>
  567.                             </a>
  568.                                 ";
  569.                         // line 306
  570.                         if ((( !twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'306$this->source); })()), "getStockUnlimitedMin", [], "any"falsefalsefalse306) && (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'306$this->source); })()), "getStockMin", [], "any"falsefalsefalse306) <= 0)) && twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'306$this->source); })()), "isStockDiscontinued", [], "any"falsefalsefalse306))) {
  571.                             // line 307
  572.                             echo "                                    <div class=\"ec-productRole__btn\">
  573.                                         <button type=\"button\" class=\"ec-disabled__btn\" disabled=\"disabled\">
  574.                                             ";
  575.                             // line 309
  576.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("在庫なし"), "html"nulltrue);
  577.                             echo "
  578.                                         </button>
  579.                                     </div>
  580.                                 ";
  581.                         } else {
  582.                             // line 313
  583.                             echo "                                    ";
  584.                             $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.'313$this->source); })()), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'313$this->source); })()), "id", [], "any"falsefalsefalse313), [], "array"falsefalsefalse313);
  585.                             // line 314
  586.                             echo "                                    <form class=\"productForm\" name=\"form";
  587.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'314$this->source); })()), "id", [], "any"falsefalsefalse314), "html"nulltrue);
  588.                             echo "\" id=\"productForm";
  589.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'314$this->source); })()), "id", [], "any"falsefalsefalse314), "html"nulltrue);
  590.                             echo "\" action=\"";
  591.                             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, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'314$this->source); })()), "id", [], "any"falsefalsefalse314)]), "html"nulltrue);
  592.                             echo "\" method=\"post\">
  593.                                         <div class=\"ec-productRole__actions\">
  594.                                             ";
  595.                             // line 316
  596.                             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse316)) {
  597.                                 // line 317
  598.                                 echo "                                                <div class=\"ec-select\">
  599.                                                     ";
  600.                                 // line 318
  601.                                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'318$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse318), 'widget');
  602.                                 echo "
  603.                                                     ";
  604.                                 // line 319
  605.                                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'319$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse319), 'errors');
  606.                                 echo "
  607.                                                 </div>
  608.                                                 ";
  609.                                 // line 321
  610.                                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse321)) {
  611.                                     // line 322
  612.                                     echo "                                                    <div class=\"ec-select\">
  613.                                                         ";
  614.                                     // line 323
  615.                                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'323$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse323), 'widget');
  616.                                     echo "
  617.                                                         ";
  618.                                     // line 324
  619.                                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'324$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse324), 'errors');
  620.                                     echo "
  621.                                                     </div>
  622.                                                 ";
  623.                                 }
  624.                                 // line 327
  625.                                 echo "                                            ";
  626.                             }
  627.                             // line 328
  628.                             echo "                                                <div class=\"ec-numberInput d-none\"><span>";
  629.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  630.                             echo "</span>
  631.                                                     ";
  632.                             // line 329
  633.                             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'329$this->source); })()), "quantity", [], "any"falsefalsefalse329), 'widget', ["attr" => ["class" => "quantity"]]);
  634.                             echo "
  635.                                                     ";
  636.                             // line 330
  637.                             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'330$this->source); })()), "quantity", [], "any"falsefalsefalse330), 'errors');
  638.                             echo "
  639.                                                 </div>
  640.                                         
  641.                                         </div>
  642.                                         ";
  643.                             // line 334
  644.                             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'334$this->source); })()), 'rest');
  645.                             echo "
  646.                                     </form>
  647.                                     ";
  648.                             // line 336
  649.                             $context["default"] = 0;
  650.                             // line 337
  651.                             echo "                                    ";
  652.                             if (twig_get_attribute($this->env$this->source, ($context["itemInCart"] ?? null), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'337$this->source); })()), "id", [], "any"falsefalsefalse337), [], "array"truetruefalse337)) {
  653.                                 // line 338
  654.                                 echo "                                        ";
  655.                                 $context["default"] = twig_get_attribute($this->env$this->source, (isset($context["itemInCart"]) || array_key_exists("itemInCart"$context) ? $context["itemInCart"] : (function () { throw new RuntimeError('Variable "itemInCart" does not exist.'338$this->source); })()), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'338$this->source); })()), "id", [], "any"falsefalsefalse338), [], "array"falsefalsefalse338);
  656.                                 // line 339
  657.                                 echo "                                    ";
  658.                             }
  659.                             // line 340
  660.                             echo "                                    ";
  661.                             $context["disabled"] = false;
  662.                             // line 341
  663.                             echo "                                    ";
  664.                             if ( !twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'341$this->source); })()), "isStockDiscontinued", [], "any"falsefalsefalse341)) {
  665.                                 // line 342
  666.                                 echo "                                        <input type=\"hidden\" name=\"stock\" class=\"stock\" value=\"999999999999\">
  667.                                     ";
  668.                             } else {
  669.                                 // line 344
  670.                                 echo "                                        ";
  671.                                 if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'344$this->source); })()), "getStockMin", [], "any"falsefalsefalse344) <= (isset($context["default"]) || array_key_exists("default"$context) ? $context["default"] : (function () { throw new RuntimeError('Variable "default" does not exist.'344$this->source); })()))) {
  672.                                     // line 345
  673.                                     echo "                                            ";
  674.                                     $context["disabled"] = true;
  675.                                     // line 346
  676.                                     echo "                                        ";
  677.                                 }
  678.                                 // line 347
  679.                                 echo "                                        <input type=\"hidden\" name=\"stock\" class=\"stock\" value=\"";
  680.                                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'347$this->source); })()), "getStockMin", [], "any"falsefalsefalse347), "html"nulltrue);
  681.                                 echo "\">
  682.                                     ";
  683.                             }
  684.                             // line 349
  685.                             echo "                                    <div class=\"ec-productRole__btn--group ec-productRole__btn ";
  686.                             if (twig_get_attribute($this->env$this->source, ($context["itemInCart"] ?? null), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'349$this->source); })()), "id", [], "any"falsefalsefalse349), [], "array"truetruefalse349)) {
  687.                                 echo " d-block ";
  688.                             } else {
  689.                                 echo " d-none ";
  690.                             }
  691.                             echo "\">
  692.                                         <div class=\"d-flex align-items-center ec-productRole__btn-wrapper\">
  693.                                             <button class=\"minus__btn\" data-cartid=\"";
  694.                             // line 351
  695.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'351$this->source); })()), "id", [], "any"falsefalsefalse351), "html"nulltrue);
  696.                             echo "\" form=\"productForm";
  697.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'351$this->source); })()), "id", [], "any"falsefalsefalse351), "html"nulltrue);
  698.                             echo "\">
  699.                                                 <span>−</span>
  700.                                             </button>
  701.                                             <span class=\"quantity_label\">";
  702.                             // line 354
  703.                             echo twig_escape_filter($this->env, (isset($context["default"]) || array_key_exists("default"$context) ? $context["default"] : (function () { throw new RuntimeError('Variable "default" does not exist.'354$this->source); })()), "html"nulltrue);
  704.                             echo "</span>
  705.                                             <button class=\"plus__btn\" data-cartid=\"";
  706.                             // line 355
  707.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'355$this->source); })()), "id", [], "any"falsefalsefalse355), "html"nulltrue);
  708.                             echo "\" form=\"productForm";
  709.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'355$this->source); })()), "id", [], "any"falsefalsefalse355), "html"nulltrue);
  710.                             echo "\" ";
  711.                             if ((isset($context["disabled"]) || array_key_exists("disabled"$context) ? $context["disabled"] : (function () { throw new RuntimeError('Variable "disabled" does not exist.'355$this->source); })())) {
  712.                                 echo "disabled";
  713.                             }
  714.                             echo ">
  715.                                                 <span>+</span>
  716.                                             </button>
  717.                                         </div>
  718.                                     </div>
  719.                                     <div class=\"ec-productRole__btn--only ec-productRole__btn ";
  720.                             // line 360
  721.                             if (twig_get_attribute($this->env$this->source, ($context["itemInCart"] ?? null), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'360$this->source); })()), "id", [], "any"falsefalsefalse360), [], "array"truetruefalse360)) {
  722.                                 echo " d-none ";
  723.                             } else {
  724.                                 echo " d-block ";
  725.                             }
  726.                             echo "\">
  727.                                         <button type=\"submit\" class=\"ec-regular__btn add-cart\" data-cartid=\"";
  728.                             // line 361
  729.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'361$this->source); })()), "id", [], "any"falsefalsefalse361), "html"nulltrue);
  730.                             echo "\" form=\"productForm";
  731.                             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'361$this->source); })()), "id", [], "any"falsefalsefalse361), "html"nulltrue);
  732.                             echo "\">
  733.                                             ";
  734.                             // line 362
  735.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  736.                             echo "
  737.                                         </button>
  738.                                     </div>
  739.                                 ";
  740.                         }
  741.                         // line 366
  742.                         echo "                            ";
  743.                     } else {
  744.                         // line 367
  745.                         echo "                                <a href=\"";
  746.                         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("entry_contact");
  747.                         echo "\" class=\"ec-blockProductBtn--action\">会員登録はこちら</a>
  748.                             ";
  749.                     }
  750.                     // line 369
  751.                     echo "                        </li>
  752.                     ";
  753.                     ++$context['loop']['index0'];
  754.                     ++$context['loop']['index'];
  755.                     $context['loop']['first'] = false;
  756.                     if (isset($context['loop']['length'])) {
  757.                         --$context['loop']['revindex0'];
  758.                         --$context['loop']['revindex'];
  759.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  760.                     }
  761.                 }
  762.                 $_parent $context['_parent'];
  763.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['PinpointProduct'], $context['_parent'], $context['loop']);
  764.                 $context array_intersect_key($context$_parent) + $_parent;
  765.                 // line 371
  766.                 echo "                </ul>
  767.             </div>
  768.             <div class=\"ec-modal\">
  769.                 <div class=\"ec-modal-overlay\">
  770.                     <div class=\"ec-modal-wrap\">
  771.                         <div class=\"ec-modal-box\">
  772.                             <div class=\"ec-role\">
  773.                                 <div class=\"ec-modal-icon\">
  774.                                     <img src=\"";
  775.                 // line 379
  776.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/icon/icon_cart.png""user_data"), "html"nulltrue);
  777.                 echo "\" alt=\"\">
  778.                                 </div>
  779.                             </div>
  780.                         </div>
  781.                         <div id=\"ec-modal-header\" class=\"text-center\">";
  782.                 // line 383
  783.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  784.                 echo "</div>
  785.                     </div>
  786.                 </div>
  787.             </div>
  788.             <ul class=\"stockList bottom\">
  789.                 <li class=\"stockList__block\">
  790.                     <p class=\"stockList__block__text\">在庫あり:</p>
  791.                     <p class=\"stockList__block__mark\">◎</p>
  792.                 </li>
  793.                 <li class=\"stockList__block\">
  794.                     <p class=\"stockList__block__text\">残りわずか:</p>
  795.                     <p class=\"stockList__block__mark\">○</p>
  796.                 </li>
  797.                 <li class=\"stockList__block\">
  798.                     <p class=\"stockList__block__text\">取り寄せ:</p>
  799.                     <p class=\"stockList__block__mark\">■</p>
  800.                 </li>
  801.             </ul>
  802.             <div class=\"ec-pagerRole\">
  803.                 ";
  804.                 // line 402
  805.                 $this->loadTemplate("pager.twig""Product/sale.twig"402)->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.'402$this->source); })()), "paginationData", [], "any"falsefalsefalse402)]));
  806.                 // line 403
  807.                 echo "            </div>
  808.         ";
  809.             }
  810.             // line 405
  811.             echo "    ";
  812.         }
  813.         
  814.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  815.         
  816.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  817.     }
  818.     public function getTemplateName()
  819.     {
  820.         return "Product/sale.twig";
  821.     }
  822.     public function isTraitable()
  823.     {
  824.         return false;
  825.     }
  826.     public function getDebugInfo()
  827.     {
  828.         return array (  844 => 405,  840 => 403,  838 => 402,  816 => 383,  809 => 379,  799 => 371,  784 => 369,  778 => 367,  775 => 366,  768 => 362,  762 => 361,  754 => 360,  740 => 355,  736 => 354,  728 => 351,  718 => 349,  712 => 347,  709 => 346,  706 => 345,  703 => 344,  699 => 342,  696 => 341,  693 => 340,  690 => 339,  687 => 338,  684 => 337,  682 => 336,  677 => 334,  670 => 330,  666 => 329,  661 => 328,  658 => 327,  652 => 324,  648 => 323,  645 => 322,  643 => 321,  638 => 319,  634 => 318,  631 => 317,  629 => 316,  619 => 314,  616 => 313,  609 => 309,  605 => 307,  603 => 306,  592 => 298,  584 => 297,  579 => 295,  571 => 294,  565 => 290,  559 => 288,  556 => 287,  548 => 285,  542 => 283,  539 => 282,  536 => 281,  532 => 279,  530 => 278,  526 => 276,  520 => 274,  517 => 273,  512 => 265,  509 => 264,  505 => 262,  502 => 261,  498 => 259,  495 => 258,  491 => 256,  489 => 255,  486 => 254,  478 => 247,  474 => 245,  468 => 243,  466 => 242,  457 => 235,  455 => 234,  451 => 233,  448 => 232,  444 => 230,  433 => 228,  429 => 227,  426 => 226,  424 => 225,  414 => 224,  409 => 222,  406 => 221,  403 => 220,  386 => 219,  382 => 217,  380 => 216,  362 => 200,  355 => 196,  351 => 195,  347 => 193,  345 => 192,  342 => 191,  336 => 189,  331 => 187,  328 => 186,  326 => 185,  322 => 183,  319 => 164,  307 => 162,  303 => 161,  298 => 160,  294 => 159,  290 => 157,  284 => 154,  281 => 153,  279 => 152,  274 => 150,  259 => 138,  255 => 136,  245 => 135,  201 => 100,  191 => 93,  118 => 22,  104 => 21,  96 => 20,  93 => 19,  76 => 18,  72 => 16,  62 => 15,  51 => 11,  49 => 13,  36 => 11,);
  829.     }
  830.     public function getSourceContext()
  831.     {
  832.         return new Source("{#
  833. This file is part of EC-CUBE
  834. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  835. http://www.ec-cube.co.jp/
  836. For the full copyright and license information, please view the LICENSE
  837. file that was distributed with this source code.
  838. #}
  839. {% extends 'default_frame.twig' %}
  840. {% set body_class = 'product_page' %}
  841. {% block javascript %}
  842.     <script>
  843.         eccube.productsClassCategories = {
  844.             {% for PinpointProduct in pagination %}
  845.             {% set Product = PinpointProduct.ProductClass.Product %}
  846.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  847.             {% endfor %}
  848.         };
  849.         \$(function() {
  850.             // 表示件数を変更
  851.             \$('.disp-number').change(function() {
  852.                 var dispNumber = \$(this).val();
  853.                 \$('#disp_number').val(dispNumber);
  854.                 \$('#pageno').val(1);
  855.                 \$(\"#form1\").submit();
  856.             });
  857.             // 並び順を変更
  858.             \$('.order-by').change(function() {
  859.                 var orderBy = \$(this).val();
  860.                 \$('#orderby').val(orderBy);
  861.                 \$('#pageno').val(1);
  862.                 \$(\"#form1\").submit();
  863.             });
  864.             var modalTimer;
  865.             \$('.add-cart').on('click', function(e) {
  866.                 var self = \$(this);
  867.                 onAddCart(e, \$(this), 1, function() {
  868.                     var \$form = self.parents('li');
  869.                     \$form.find(\".ec-productRole__btn--only\").addClass(\"d-none\");
  870.                     \$form.find(\".ec-productRole__btn--group\").removeClass(\"d-none\");
  871.                     window.clearTimeout(modalTimer);
  872.                     \$('.ec-modal').show()
  873.                     modalTimer = window.setTimeout(function() {
  874.                         \$('.ec-modal').hide();
  875.                     }, 1500)
  876.                 });
  877.             });
  878.             \$('.minus__btn').on('click', function(e) {
  879.                 onAddCart(e, \$(this), -1);
  880.             })
  881.             \$('.plus__btn').on('click', function(e) {
  882.                 onAddCart(e, \$(this));
  883.             })
  884.             function onAddCart(e, self, quantity = 1, callback) {
  885.                 var \$form = \$(self).parents('li').find('form.productForm');
  886.                 // 個数フォームのチェック
  887.                 \$form.parent().find('.quantity').val(quantity);
  888.                 e.preventDefault();
  889.                 \$.ajax({
  890.                     url: \$form.attr('action'),
  891.                     type: \$form.attr('method'),
  892.                     data: \$form.serialize(),
  893.                     dataType: 'json',
  894.                     beforeSend: function(xhr, settings) {
  895.                         // Buttonを無効にする
  896.                         \$(self).prop('disabled', true);
  897.                     }
  898.                 }).done(function(data) {
  899.                     // レスポンス内のメッセージをalertで表示
  900.                     \$.each(data.messages, function() {
  901.                         \$('#ec-modal-header').text(this);
  902.                     });
  903.                     var \$quantityLabelEl = \$(self).parents('li').find('.quantity_label');
  904.                     \$quantityLabelEl.text(\$quantityLabelEl.text() * 1 + quantity * 1);
  905.                     if(callback) {
  906.                         callback();
  907.                     }
  908.                     // カートブロックを更新する
  909.                     \$.ajax({
  910.                         url: '{{ url('block_cart') }}',
  911.                         type: 'GET',
  912.                         dataType: 'html'
  913.                     }).done(function(html) {
  914.                         \$('.ec-headerRole__cart').html(html);
  915.                     });
  916.                 }).fail(function(data) {
  917.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  918.                     \$(self).prop('disabled', false);
  919.                 }).always(function(data) {
  920.                     var \$parent = \$(self).parents('li');
  921.                     let stockVal = \$parent.find('.stock').val() * 1;
  922.                     var \$quantityLabelEl = \$parent.find('.quantity_label');
  923.                     var _quantity = \$quantityLabelEl.text() * 1;
  924.                     if(_quantity == 0) {
  925.                         // enable minus button
  926.                         \$(self).prop('disabled', false);
  927.                         \$parent.find(\".ec-productRole__btn--only\").removeClass(\"d-none\");
  928.                         \$parent.find(\".ec-productRole__btn--group\").addClass(\"d-none\");
  929.                     }
  930.                     if(_quantity > 0 && _quantity < stockVal) {
  931.                         // Buttonを有効にする
  932.                         \$(self).prop('disabled', false);
  933.                         \$parent.find('.plus__btn').prop('disabled', false);
  934.                     }
  935.                 });
  936.             }
  937.         });
  938.         \$('.ec-modal-wrap').on('click', function(e) {
  939.             // モーダル内の処理は外側にバブリングさせない
  940.             e.stopPropagation();
  941.         });
  942.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  943.             \$('.ec-modal').hide()
  944.         });
  945.     </script>
  946. {% endblock %}
  947. {% block main %}
  948.     <ul class=\"breadcrumb w-p\">
  949.         <li class=\"breadcrumb__item\">
  950.             <a href=\"{{ url('homepage') }}\" class=\"breadcrumb__item__link\">
  951.                 ホーム
  952.             </a>
  953.         </li>
  954.         <li class=\"breadcrumb__item\">
  955.             <p class=\"breadcrumb__item__arrow\">></p>
  956.         </li>
  957.         <li class=\"breadcrumb__item\">
  958.             <p class=\"breadcrumb__item__text\">セール商品一覧</p>
  959.         </li>
  960.     </ul>
  961.     <div class=\"ec-pageHeader contentHeader\">
  962.         <h1>{{ 'セール商品一覧'|trans }}</h1>
  963.     </div>
  964.     {% if search_form.category_id.vars.errors|length > 0 %}
  965.         <div class=\"ec-searchnavRole\">
  966.             <p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
  967.         </div>
  968.     {% else %}
  969.         <div class=\"ec-searchnavRole\">
  970.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  971.                 {% for item in search_form %}
  972.                     <input type=\"hidden\" id=\"{{ item.vars.id }}\"
  973.                            name=\"{{ item.vars.full_name }}\"
  974.                            {% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
  975.                 {% endfor %}
  976.             </form>
  977.             {# <div class=\"ec-searchnavRole__topicpath\">
  978.                 <ol class=\"ec-topicpath\">
  979.                     <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a>
  980.                     </li>
  981.                     {% if Category is not null %}
  982.                         {% for Path in Category.path %}
  983.                             <li class=\"ec-topicpath__divider\">|</li>
  984.                             <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\"><a
  985.                                         href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  986.                             </li>
  987.                         {% endfor %}
  988.                     {% endif %}
  989.                     {% if search_form.vars.value and search_form.vars.value.name %}
  990.                         <li class=\"ec-topicpath__divider\">|</li>
  991.                         <li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
  992.                     {% endif %}
  993.                 </ol>
  994.             </div> #}
  995.             <div class=\"ec-searchnavRole__infos\">
  996.                 <div class=\"ec-searchnavRole__counter\">
  997.                     {% if pagination.totalItemCount > 0 %}
  998.                         <p class=\"ec-searchnavRole__counter__title\">検索結果</p>
  999.                         {{ '<p class=\"ec-searchnavRole__counter__number\">%count%件</p>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  1000.                     {% else %}
  1001.                         <span class=\"\">{{ 'お探しの商品は見つかりませんでした'|trans }}</span>
  1002.                     {% endif %}
  1003.                 </div>
  1004.                 {% if pagination.totalItemCount > 0 %}
  1005.                     <div class=\"ec-searchnavRole__actions\">
  1006.                         <div class=\"ec-select\">
  1007.                             {{ form_widget(search_form.disp_number, {'id': '', 'attr': {'class': 'disp-number'}}) }}
  1008.                             {{ form_widget(search_form.orderby, {'id': '', 'attr': {'class': 'order-by'}}) }}
  1009.                         </div>
  1010.                     </div>
  1011.                 {% endif %}
  1012.             </div>
  1013.         </div>
  1014.         <ul class=\"stockList\">
  1015.             <li class=\"stockList__block\">
  1016.                 <p class=\"stockList__block__text\">在庫あり:</p>
  1017.                 <p class=\"stockList__block__mark\">◎</p>
  1018.             </li>
  1019.             <li class=\"stockList__block\">
  1020.                 <p class=\"stockList__block__text\">残りわずか:</p>
  1021.                 <p class=\"stockList__block__mark\">○</p>
  1022.             </li>
  1023.             <li class=\"stockList__block\">
  1024.                 <p class=\"stockList__block__text\">取り寄せ:</p>
  1025.                 <p class=\"stockList__block__mark\">■</p>
  1026.             </li>
  1027.         </ul>
  1028.         {% if pagination.totalItemCount > 0 %}
  1029.             <div class=\"ec-shelfRole\">
  1030.                 <ul class=\"ec-shelfGrid\">
  1031.                     {% for PinpointProduct in pagination %}
  1032.                         {% set Product = PinpointProduct.ProductClass.Product %}
  1033.                         <li class=\"ec-shelfGrid__item\">
  1034.                             <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  1035.                                 <div class=\"ec-shelfGrid__item-image\">
  1036.                                     <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" {% if loop.index > 5 %} loading=\"lazy\"{% endif %}>
  1037.                                     {% if Product.Tags|length > 0  %}
  1038.                                     <ul class=\"ec-shelfGrid__item-tags\">
  1039.                                         {% for Tag in Product.Tags %}
  1040.                                             <li class=\"ec-shelfGrid__item-tags__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  1041.                                         {% endfor %}
  1042.                                     </ul>
  1043.                                     {% endif %}
  1044.                                 </div>
  1045.                                 <p class=\"ec-shelfGrid__item-name\">{{ Product.name }}</p>
  1046.                                 {% if is_granted('ROLE_USER') %}
  1047.                                 <div class=\"ec-shelfGrid__item-stock\">
  1048.                                     <div class=\"ec-shelfGrid__item-stock__block\">
  1049.                                         <p class=\"ec-shelfGrid__item-stock__block__title\">
  1050.                                             【発送目安】
  1051.                                         </p>
  1052.                                         <p class=\"ec-shelfGrid__item-stock__block__detail\">
  1053.                                             {% if Product.getDeliveryDuration %}
  1054.                                                 {{Product.getDeliveryDuration.name}}
  1055.                                             {% else %}
  1056.                                                 指定なし
  1057.                                             {% endif %}
  1058.                                         </p>
  1059.                                     </div>
  1060.                                     <div class=\"ec-shelfGrid__item-stock__block\">
  1061.                                         <p class=\"ec-shelfGrid__item-stock__block__title\">
  1062.                                             【在庫】
  1063.                                         </p>
  1064.                                         {# 在庫をマークで表示何個から何個か◎等はこれから確認 #}
  1065.                                         <p class=\"ec-shelfGrid__item-stock__block__detail\">
  1066.                                             {% if Product.getStockUnlimitedMin or Product.getStockMin >= 10 %}
  1067.                                                 ◎
  1068.                                             {% else %}
  1069.                                                 {% if Product.getStockMin >= 1 and Product.getStockMin <= 9 %}
  1070.                                                     ○
  1071.                                                 {% endif %}
  1072.                                                 {% if Product.getStockMin <= 0 %}
  1073.                                                     ■
  1074.                                                 {% endif %}
  1075.                                             {% endif %}
  1076.                                         </p>
  1077.                                     </div>
  1078.                                 </div>
  1079.                                 {# {% if not Product.getStockUnlimitedMin %}
  1080.                                     <p>
  1081.                                         発送可能{{Product.getStockMin}}個
  1082.                                     </p>
  1083.                                 {% endif %} #}
  1084.                                 {% if Product.description_list %}
  1085.                                     <p>{{ Product.description_list|raw|nl2br }}</p>
  1086.                                 {% endif %}
  1087.                                 <div class=\"ec-shelfGrid__item-flex\">
  1088.                                     <p class=\"price02-default ec-shelfGrid__item-price\">
  1089.                                         {% if Product.isInSale %}
  1090.                                             <span class=\"ec-shelfGrid__item-price__sale\">セール商品</span>
  1091.                                         {% endif %}
  1092.                                         {% if Product.hasProductClass %}
  1093.                                             {% if Product.getPrice02Min == Product.getPrice02Max %}
  1094.                                                 {{ Product.getPrice02IncTaxMin|price }}
  1095.                                             {% else %}
  1096.                                                 {{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}
  1097.                                             {% endif %}
  1098.                                         {% else %}
  1099.                                             {{ Product.getPrice02IncTaxMin|price }}
  1100.                                         {% endif %}
  1101.                                     </p>
  1102.                                     <div class=\"ec-shelfGrid__item-flex__favorite\">
  1103.                                         <form class=\"ec-favoriteForm\" action=\"?\" method=\"?\">
  1104.                                             <div class=\"ec-productRole__btn\">
  1105.                                                 <button data-method=\"POST\" data-action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" id=\"favorite\" class=\"{% if isFavorite[Product.id] is defined and isFavorite[Product.id] == true %} d-none {% endif %} ec-blockFavoriteBtn ec-blockBtn--cancel ec-shelfGrid__item-flex__favorite__btn\">
  1106.                                                     <img src=\"{{ asset('assets/img/favorite/before.svg') }}\" alt=\"お気に入り\" width=\"24\" height=\"24\" loading=\"lazy\">
  1107.                                                 </button>
  1108.                                                 <button data-method=\"DELETE\" data-action=\"{{ url('product_favorite_delete', {id:Product.id}) }}\" id=\"favorite\" class=\"{% if isFavorite[Product.id] is defined and isFavorite[Product.id] == false %} d-none {% endif %}ec-blockFavoriteBtnDisable ec-blockBtn--cancel ec-shelfGrid__item-flex__favorite__btn\">
  1109.                                                    <img src=\"{{ asset('assets/img/favorite/after.svg') }}\" alt=\"お気に入り\" width=\"24\" height=\"24\" loading=\"lazy\">
  1110.                                                 </button>
  1111.                                             </div>
  1112.                                         </form>
  1113.                                     </div>
  1114.                                 </div>
  1115.                             </a>
  1116.                                 {% if not Product.getStockUnlimitedMin and Product.getStockMin <= 0 and Product.isStockDiscontinued %}
  1117.                                     <div class=\"ec-productRole__btn\">
  1118.                                         <button type=\"button\" class=\"ec-disabled__btn\" disabled=\"disabled\">
  1119.                                             {{ '在庫なし'|trans }}
  1120.                                         </button>
  1121.                                     </div>
  1122.                                 {% else %}
  1123.                                     {% set form = forms[Product.id] %}
  1124.                                     <form class=\"productForm\" name=\"form{{ Product.id }}\" id=\"productForm{{ Product.id }}\" action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\">
  1125.                                         <div class=\"ec-productRole__actions\">
  1126.                                             {% if form.classcategory_id1 is defined %}
  1127.                                                 <div class=\"ec-select\">
  1128.                                                     {{ form_widget(form.classcategory_id1) }}
  1129.                                                     {{ form_errors(form.classcategory_id1) }}
  1130.                                                 </div>
  1131.                                                 {% if form.classcategory_id2 is defined %}
  1132.                                                     <div class=\"ec-select\">
  1133.                                                         {{ form_widget(form.classcategory_id2) }}
  1134.                                                         {{ form_errors(form.classcategory_id2) }}
  1135.                                                     </div>
  1136.                                                 {% endif %}
  1137.                                             {% endif %}
  1138.                                                 <div class=\"ec-numberInput d-none\"><span>{{ '数量'|trans }}</span>
  1139.                                                     {{ form_widget(form.quantity, {'attr': {'class': 'quantity'}} ) }}
  1140.                                                     {{ form_errors(form.quantity) }}
  1141.                                                 </div>
  1142.                                         
  1143.                                         </div>
  1144.                                         {{ form_rest(form) }}
  1145.                                     </form>
  1146.                                     {% set default = 0 %}
  1147.                                     {% if itemInCart[Product.id] is defined %}
  1148.                                         {% set default = itemInCart[Product.id] %}
  1149.                                     {% endif %}
  1150.                                     {% set disabled = false %}
  1151.                                     {% if not Product.isStockDiscontinued %}
  1152.                                         <input type=\"hidden\" name=\"stock\" class=\"stock\" value=\"999999999999\">
  1153.                                     {% else %}
  1154.                                         {% if Product.getStockMin <= default %}
  1155.                                             {% set disabled = true %}
  1156.                                         {% endif %}
  1157.                                         <input type=\"hidden\" name=\"stock\" class=\"stock\" value=\"{{Product.getStockMin}}\">
  1158.                                     {% endif %}
  1159.                                     <div class=\"ec-productRole__btn--group ec-productRole__btn {% if itemInCart[Product.id] is defined %} d-block {% else %} d-none {% endif %}\">
  1160.                                         <div class=\"d-flex align-items-center ec-productRole__btn-wrapper\">
  1161.                                             <button class=\"minus__btn\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\">
  1162.                                                 <span>−</span>
  1163.                                             </button>
  1164.                                             <span class=\"quantity_label\">{{ default }}</span>
  1165.                                             <button class=\"plus__btn\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\" {% if disabled %}disabled{% endif %}>
  1166.                                                 <span>+</span>
  1167.                                             </button>
  1168.                                         </div>
  1169.                                     </div>
  1170.                                     <div class=\"ec-productRole__btn--only ec-productRole__btn {% if itemInCart[Product.id] is defined %} d-none {% else %} d-block {% endif %}\">
  1171.                                         <button type=\"submit\" class=\"ec-regular__btn add-cart\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\">
  1172.                                             {{ 'カートに入れる'|trans }}
  1173.                                         </button>
  1174.                                     </div>
  1175.                                 {% endif %}
  1176.                             {% else %}
  1177.                                 <a href=\"{{ url('entry_contact') }}\" class=\"ec-blockProductBtn--action\">会員登録はこちら</a>
  1178.                             {% endif %}
  1179.                         </li>
  1180.                     {% endfor %}
  1181.                 </ul>
  1182.             </div>
  1183.             <div class=\"ec-modal\">
  1184.                 <div class=\"ec-modal-overlay\">
  1185.                     <div class=\"ec-modal-wrap\">
  1186.                         <div class=\"ec-modal-box\">
  1187.                             <div class=\"ec-role\">
  1188.                                 <div class=\"ec-modal-icon\">
  1189.                                     <img src=\"{{ asset('assets/img/icon/icon_cart.png', 'user_data') }}\" alt=\"\">
  1190.                                 </div>
  1191.                             </div>
  1192.                         </div>
  1193.                         <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1194.                     </div>
  1195.                 </div>
  1196.             </div>
  1197.             <ul class=\"stockList bottom\">
  1198.                 <li class=\"stockList__block\">
  1199.                     <p class=\"stockList__block__text\">在庫あり:</p>
  1200.                     <p class=\"stockList__block__mark\">◎</p>
  1201.                 </li>
  1202.                 <li class=\"stockList__block\">
  1203.                     <p class=\"stockList__block__text\">残りわずか:</p>
  1204.                     <p class=\"stockList__block__mark\">○</p>
  1205.                 </li>
  1206.                 <li class=\"stockList__block\">
  1207.                     <p class=\"stockList__block__text\">取り寄せ:</p>
  1208.                     <p class=\"stockList__block__mark\">■</p>
  1209.                 </li>
  1210.             </ul>
  1211.             <div class=\"ec-pagerRole\">
  1212.                 {% include \"pager.twig\" with {'pages': pagination.paginationData} %}
  1213.             </div>
  1214.         {% endif %}
  1215.     {% endif %}
  1216. {% endblock %}
  1217. ""Product/sale.twig""/home/bravers/bravers.xbiz.jp/public_html/app/template/bravers/Product/sale.twig");
  1218.     }
  1219. }