var/cache/dev/twig/02/02a24aa09e4cca8b9c9ec6f2c63a02d6353c56663ee8ebe45ef9a26634ac96ae.php line 40

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/detail.twig */
  14. class __TwigTemplate_1420079b2b34002059c4e46d7596f6b99aa585a165f25d77adf89017a6e8e2bd extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 11
  31.         return "default_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  40.         // line 13
  41.         $context["body_class"] = "product_page";
  42.         // line 11
  43.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"11);
  44.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  47.         
  48.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "    <style>
  60.         .slick-slider {
  61.             margin-bottom: 30px;
  62.         }
  63.         .slick-dots {
  64.             position: absolute;
  65.             bottom: -45px;
  66.             display: block;
  67.             width: 100%;
  68.             padding: 0;
  69.             list-style: none;
  70.             text-align: center;
  71.         }
  72.         .slick-dots li {
  73.             position: relative;
  74.             display: inline-block;
  75.             width: 20px;
  76.             height: 20px;
  77.             margin: 0 5px;
  78.             padding: 0;
  79.             cursor: pointer;
  80.         }
  81.         .slick-dots li button {
  82.             font-size: 0;
  83.             line-height: 0;
  84.             display: block;
  85.             width: 20px;
  86.             height: 20px;
  87.             padding: 5px;
  88.             cursor: pointer;
  89.             color: transparent;
  90.             border: 0;
  91.             outline: none;
  92.             background: transparent;
  93.         }
  94.         .slick-dots li button:hover,
  95.         .slick-dots li button:focus {
  96.             outline: none;
  97.         }
  98.         .slick-dots li button:hover:before,
  99.         .slick-dots li button:focus:before {
  100.             opacity: 1;
  101.         }
  102.         .slick-dots li button:before {
  103.             content: \" \";
  104.             line-height: 20px;
  105.             position: absolute;
  106.             top: 0;
  107.             left: 0;
  108.             width: 12px;
  109.             height: 12px;
  110.             text-align: center;
  111.             opacity: .25;
  112.             background-color: black;
  113.             border-radius: 50%;
  114.         }
  115.         .slick-dots li.slick-active button:before {
  116.             opacity: .75;
  117.             background-color: black;
  118.         }
  119.         .slick-dots li button.thumbnail img {
  120.             width: 0;
  121.             height: 0;
  122.         }
  123.     </style>
  124. ";
  125.         
  126.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  127.         
  128.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  129.     }
  130.     // line 95
  131.     public function block_javascript($context, array $blocks = [])
  132.     {
  133.         $macros $this->macros;
  134.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  135.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  136.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  137.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  138.         // line 96
  139.         echo "    <script>
  140.         eccube.classCategories = ";
  141.         // line 97
  142.         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.'97$this->source); })()));
  143.         echo ";
  144.         // 規格2に選択肢を割り当てる。
  145.         function fnSetClassCategories(form, classcat_id2_selected) {
  146.             var \$form = \$(form);
  147.             var product_id = \$form.find('input[name=product_id]').val();
  148.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  149.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  150.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  151.         }
  152.         ";
  153.         // line 108
  154.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse108)) {
  155.             // line 109
  156.             echo "        fnSetClassCategories(
  157.             \$('#form1'), ";
  158.             // line 110
  159.             echo json_encode(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'110$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse110), "vars", [], "any"falsefalsefalse110), "value", [], "any"falsefalsefalse110));
  160.             echo "
  161.         );
  162.         ";
  163.         } elseif (twig_get_attribute($this->env$this->source,         // line 112
  164. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse112)) {
  165.             // line 113
  166.             echo "        eccube.checkStock(\$('#form1'), ";
  167.             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.'113$this->source); })()), "id", [], "any"falsefalsefalse113), "html"nulltrue);
  168.             echo ", ";
  169.             echo json_encode(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'113$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse113), "vars", [], "any"falsefalsefalse113), "value", [], "any"falsefalsefalse113));
  170.             echo ", null);
  171.         ";
  172.         }
  173.         // line 115
  174.         echo "    </script>
  175.     <script>
  176.         \$(function() {
  177.             // bfcache無効化
  178.             \$(window).bind('pageshow', function(event) {
  179.                 if (event.originalEvent.persisted) {
  180.                     location.reload(true);
  181.                 }
  182.             });
  183.             \$('.item_visual').slick({
  184.                 dots: false,
  185.                 arrows: false,
  186.                 responsive: [{
  187.                     breakpoint: 768,
  188.                     settings: {
  189.                         dots: true
  190.                     }
  191.                 }]
  192.             });
  193.             \$('.slideThumb').on('click', function() {
  194.                 var index = \$(this).attr('data-index');
  195.                 \$('.item_visual').slick('slickGoTo', index, false);
  196.             })
  197.         });
  198.     </script>
  199.     <script>
  200.         \$(function() {
  201.             \$('.add-cart').on('click', function(event) {
  202.                 ";
  203.         // line 145
  204.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse145)) {
  205.             // line 146
  206.             echo "                // 規格1フォームの必須チェック
  207.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  208.                     \$('#classcategory_id1')[0].setCustomValidity('";
  209.             // line 148
  210.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  211.             echo "');
  212.                     return true;
  213.                 } else {
  214.                     \$('#classcategory_id1')[0].setCustomValidity('');
  215.                 }
  216.                 ";
  217.         }
  218.         // line 154
  219.         echo "
  220.                 ";
  221.         // line 155
  222.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse155)) {
  223.             // line 156
  224.             echo "                // 規格2フォームの必須チェック
  225.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  226.                     \$('#classcategory_id2')[0].setCustomValidity('";
  227.             // line 158
  228.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  229.             echo "');
  230.                     return true;
  231.                 } else {
  232.                     \$('#classcategory_id2')[0].setCustomValidity('');
  233.                 }
  234.                 ";
  235.         }
  236.         // line 164
  237.         echo "
  238.                 // 個数フォームのチェック
  239.                 if (\$('#quantity').val() < 1) {
  240.                     \$('#quantity')[0].setCustomValidity('";
  241.         // line 167
  242.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  243.         echo "');
  244.                     return true;
  245.                 } else {
  246.                     \$('#quantity')[0].setCustomValidity('');
  247.                 }
  248.                 event.preventDefault();
  249.                 \$form = \$('#form1');
  250.                 \$.ajax({
  251.                     url: \$form.attr('action'),
  252.                     type: \$form.attr('method'),
  253.                     data: \$form.serialize(),
  254.                     dataType: 'json',
  255.                     beforeSend: function(xhr, settings) {
  256.                         // Buttonを無効にする
  257.                         \$('.add-cart').prop('disabled', true);
  258.                     }
  259.                 }).done(function(data) {
  260.                     // レスポンス内のメッセージをalertで表示
  261.                     \$.each(data.messages, function() {
  262.                         \$('#ec-modal-header').html(this);
  263.                     });
  264.                     \$('.ec-modal').show()
  265.                     // カートブロックを更新する
  266.                     \$.ajax({
  267.                         url: \"";
  268.         // line 194
  269.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  270.         echo "\",
  271.                         type: 'GET',
  272.                         dataType: 'html'
  273.                     }).done(function(html) {
  274.                         \$('.ec-headerRole__cart').html(html);
  275.                     });
  276.                 }).fail(function(data) {
  277.                     alert('";
  278.         // line 201
  279.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  280.         echo "');
  281.                 }).always(function(data) {
  282.                     // Buttonを有効にする
  283.                     \$('.add-cart').prop('disabled', false);
  284.                 });
  285.             });
  286.         });
  287.         \$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  288.             \$('.ec-modal').hide()
  289.         });
  290.     </script>
  291. ";
  292.         
  293.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  294.         
  295.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  296.     }
  297.     // line 215
  298.     public function block_main($context, array $blocks = [])
  299.     {
  300.         $macros $this->macros;
  301.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  302.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  303.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  304.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  305.         // line 216
  306.         echo "    <div class=\"ec-productRole\">
  307.         <div class=\"ec-grid2\">
  308.             <div class=\"ec-grid2__cell\">
  309.                 <div class=\"ec-sliderItemRole\">
  310.                     <div class=\"item_visual\">
  311.                         ";
  312.         // line 222
  313.         $context['_parent'] = $context;
  314.         $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.'222$this->source); })()), "ProductImage", [], "any"falsefalsefalse222));
  315.         $context['_iterated'] = false;
  316.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  317.             // line 223
  318.             echo "                            <div class=\"slide-item\"><img src=\"";
  319.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  320.             echo "\"></div>
  321.                         ";
  322.             $context['_iterated'] = true;
  323.         }
  324.         if (!$context['_iterated']) {
  325.             // line 225
  326.             echo "                            <div class=\"slide-item\"><img src=\"";
  327.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  328.             echo "\"/></div>
  329.                         ";
  330.         }
  331.         $_parent $context['_parent'];
  332.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  333.         $context array_intersect_key($context$_parent) + $_parent;
  334.         // line 227
  335.         echo "                    </div>
  336.                     <div class=\"item_nav\">
  337.                         ";
  338.         // line 229
  339.         $context['_parent'] = $context;
  340.         $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.'229$this->source); })()), "ProductImage", [], "any"falsefalsefalse229));
  341.         $context['loop'] = [
  342.           'parent' => $context['_parent'],
  343.           'index0' => 0,
  344.           'index'  => 1,
  345.           'first'  => true,
  346.         ];
  347.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  348.             $length count($context['_seq']);
  349.             $context['loop']['revindex0'] = $length 1;
  350.             $context['loop']['revindex'] = $length;
  351.             $context['loop']['length'] = $length;
  352.             $context['loop']['last'] = === $length;
  353.         }
  354.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  355.             // line 230
  356.             echo "                            <div class=\"slideThumb\" data-index=\"";
  357.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse230), "html"nulltrue);
  358.             echo "\"><img src=\"";
  359.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  360.             echo "\"></div>
  361.                         ";
  362.             ++$context['loop']['index0'];
  363.             ++$context['loop']['index'];
  364.             $context['loop']['first'] = false;
  365.             if (isset($context['loop']['length'])) {
  366.                 --$context['loop']['revindex0'];
  367.                 --$context['loop']['revindex'];
  368.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  369.             }
  370.         }
  371.         $_parent $context['_parent'];
  372.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  373.         $context array_intersect_key($context$_parent) + $_parent;
  374.         // line 232
  375.         echo "                    </div>
  376.                 </div>
  377.             </div>
  378.             <div class=\"ec-grid2__cell\">
  379.                 <div class=\"ec-productRole__profile\">
  380.                     ";
  381.         // line 238
  382.         echo "                    <div class=\"ec-productRole__title\">
  383.                         <h2 class=\"ec-headingTitle\">";
  384.         // line 239
  385.         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.'239$this->source); })()), "name", [], "any"falsefalsefalse239), "html"nulltrue);
  386.         echo "</h2>
  387.                     </div>
  388.                     ";
  389.         // line 242
  390.         echo "                    <ul class=\"ec-productRole__tags\">
  391.                         ";
  392.         // line 243
  393.         $context['_parent'] = $context;
  394.         $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.'243$this->source); })()), "Tags", [], "any"falsefalsefalse243));
  395.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  396.             // line 244
  397.             echo "                            <li class=\"ec-productRole__tag tag_";
  398.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse244), "html"nulltrue);
  399.             echo "\">";
  400.             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  401.             echo "</li>
  402.                         ";
  403.         }
  404.         $_parent $context['_parent'];
  405.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  406.         $context array_intersect_key($context$_parent) + $_parent;
  407.         // line 246
  408.         echo "                    </ul>
  409.                     ";
  410.         // line 248
  411.         echo "                    ";
  412.         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.'248$this->source); })()), "hasProductClass", [], "any"falsefalsefalse248)) {
  413.             // line 249
  414.             echo "<div class=\"ec-productRole__priceRegular\">
  415.                             ";
  416.             // line 250
  417.             if (( !(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.'250$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse250)) && (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.'250$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse250) == 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.'250$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse250)))) {
  418.                 // line 251
  419.                 echo "                                <span class=\"ec-productRole__priceRegularPrice\">";
  420.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  421.                 echo ":<span class=\"price01-default\">";
  422.                 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.'251$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse251)), "html"nulltrue);
  423.                 echo "</span></span>
  424.                                 <span class=\"ec-productRole__priceRegularTax\">";
  425.                 // line 252
  426.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  427.                 echo "</span>
  428.                             ";
  429.             } elseif (( !(null === twig_get_attribute($this->env$this->source,             // line 253
  430. (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'253$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse253)) &&  !(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.'253$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse253)))) {
  431.                 // line 254
  432.                 echo "                                <span class=\"ec-productRole__priceRegularPrice\">";
  433.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  434.                 echo ":<span class=\"price01-default\">";
  435.                 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.'254$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse254)), "html"nulltrue);
  436.                 echo "~ ";
  437.                 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.'254$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse254)), "html"nulltrue);
  438.                 echo "</span></span>
  439.                                 <span class=\"ec-productRole__priceRegularTax\">";
  440.                 // line 255
  441.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  442.                 echo "</span>
  443.                             ";
  444.             }
  445.             // line 257
  446.             echo "                        </div>
  447.                     ";
  448.         } else {
  449.             // line 259
  450.             echo "                        ";
  451.             if ( !(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.'259$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse259))) {
  452.                 // line 260
  453.                 echo "                            <span class=\"ec-productRole__priceRegularPrice\">";
  454.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  455.                 echo ":";
  456.                 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.'260$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse260)), "html"nulltrue);
  457.                 echo "</span>
  458.                             <span class=\"ec-productRole__priceRegularTax\">";
  459.                 // line 261
  460.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  461.                 echo "</span>
  462.                         ";
  463.             }
  464.             // line 263
  465.             echo "                    ";
  466.         }
  467.         // line 264
  468.         echo "                    ";
  469.         // line 265
  470.         echo "                    <div class=\"ec-productRole__price\">
  471.                         ";
  472.         // line 266
  473.         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.'266$this->source); })()), "hasProductClass", [], "any"falsefalsefalse266)) {
  474.             // line 267
  475.             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.'267$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse267) == 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.'267$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse267))) {
  476.                 // line 268
  477.                 echo "                                <div class=\"ec-price\">
  478.                                     <span class=\"ec-price__price price02-default\">";
  479.                 // line 269
  480.                 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.'269$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse269)), "html"nulltrue);
  481.                 echo "</span>
  482.                                     <span class=\"ec-price__tax\">";
  483.                 // line 270
  484.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  485.                 echo "</span>
  486.                                 </div>
  487.                             ";
  488.             } else {
  489.                 // line 273
  490.                 echo "                                <div class=\"ec-price\">
  491.                                     <span class=\"ec-price__price price02-default\">";
  492.                 // line 274
  493.                 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.'274$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse274)), "html"nulltrue);
  494.                 echo " ~ ";
  495.                 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.'274$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse274)), "html"nulltrue);
  496.                 echo "</span>
  497.                                     <span class=\"ec-price__tax\">";
  498.                 // line 275
  499.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  500.                 echo "</span>
  501.                                 </div>
  502.                             ";
  503.             }
  504.             // line 278
  505.             echo "                        ";
  506.         } else {
  507.             // line 279
  508.             echo "                            <div class=\"ec-price\">
  509.                                 <span class=\"ec-price__price\">";
  510.             // line 280
  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.'280$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse280)), "html"nulltrue);
  512.             echo "</span>
  513.                                 <span class=\"ec-price__tax\">";
  514.             // line 281
  515.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  516.             echo "</span>
  517.                             </div>
  518.                         ";
  519.         }
  520.         // line 284
  521.         echo "                    </div>
  522.                     ";
  523.         // line 286
  524.         echo "                    ";
  525.         if ( !twig_test_empty(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.'286$this->source); })()), "code_min", [], "any"falsefalsefalse286))) {
  526.             // line 287
  527.             echo "                        <div class=\"ec-productRole__code\">
  528.                             ";
  529.             // line 288
  530.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html"nulltrue);
  531.             echo ": <span class=\"product-code-default\">";
  532.             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.'288$this->source); })()), "code_min", [], "any"falsefalsefalse288), "html"nulltrue);
  533.             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.'288$this->source); })()), "code_min", [], "any"falsefalsefalse288) != 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); })()), "code_max", [], "any"falsefalsefalse288))) {
  534.                 echo " ~ ";
  535.                 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.'288$this->source); })()), "code_max", [], "any"falsefalsefalse288), "html"nulltrue);
  536.             }
  537.             echo "</span>
  538.                         </div>
  539.                     ";
  540.         }
  541.         // line 291
  542.         echo "                    ";
  543.         // line 292
  544.         echo "                    ";
  545.         if ( !twig_test_empty(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.'292$this->source); })()), "ProductCategories", [], "any"falsefalsefalse292))) {
  546.             // line 293
  547.             echo "                        <div class=\"ec-productRole__category\">
  548.                             <div>";
  549.             // line 294
  550.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("関連カテゴリ"), "html"nulltrue);
  551.             echo "</div>
  552.                             ";
  553.             // line 295
  554.             $context['_parent'] = $context;
  555.             $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.'295$this->source); })()), "ProductCategories", [], "any"falsefalsefalse295));
  556.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  557.                 // line 296
  558.                 echo "                                <ul>
  559.                                     <li>
  560.                                         ";
  561.                 // line 298
  562.                 $context['_parent'] = $context;
  563.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse298), "path", [], "any"falsefalsefalse298));
  564.                 $context['loop'] = [
  565.                   'parent' => $context['_parent'],
  566.                   'index0' => 0,
  567.                   'index'  => 1,
  568.                   'first'  => true,
  569.                 ];
  570.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  571.                     $length count($context['_seq']);
  572.                     $context['loop']['revindex0'] = $length 1;
  573.                     $context['loop']['revindex'] = $length;
  574.                     $context['loop']['length'] = $length;
  575.                     $context['loop']['last'] = === $length;
  576.                 }
  577.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  578.                     // line 299
  579.                     echo "                                            <a href=\"";
  580.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  581.                     echo "?category_id=";
  582.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse299), "html"nulltrue);
  583.                     echo "\">";
  584.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse299), "html"nulltrue);
  585.                     echo "</a>";
  586.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse299) == false)) {
  587.                         // line 300
  588.                         echo "                                            <span>></span>";
  589.                     }
  590.                     ++$context['loop']['index0'];
  591.                     ++$context['loop']['index'];
  592.                     $context['loop']['first'] = false;
  593.                     if (isset($context['loop']['length'])) {
  594.                         --$context['loop']['revindex0'];
  595.                         --$context['loop']['revindex'];
  596.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  597.                     }
  598.                 }
  599.                 $_parent $context['_parent'];
  600.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  601.                 $context array_intersect_key($context$_parent) + $_parent;
  602.                 // line 302
  603.                 echo "                                    </li>
  604.                                 </ul>
  605.                             ";
  606.             }
  607.             $_parent $context['_parent'];
  608.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  609.             $context array_intersect_key($context$_parent) + $_parent;
  610.             // line 305
  611.             echo "                        </div>
  612.                     ";
  613.         }
  614.         // line 307
  615.         echo "                    <form action=\"";
  616.         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.'307$this->source); })()), "id", [], "any"falsefalsefalse307)]), "html"nulltrue);
  617.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  618.                         ";
  619.         // line 308
  620.         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.'308$this->source); })()), "stock_find", [], "any"falsefalsefalse308)) {
  621.             // line 309
  622.             echo "                            <div class=\"ec-productRole__actions\">
  623.                                 ";
  624.             // line 310
  625.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse310)) {
  626.                 // line 311
  627.                 echo "                                    <div class=\"ec-select\">
  628.                                         ";
  629.                 // line 312
  630.                 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.'312$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse312), 'widget');
  631.                 echo "
  632.                                         ";
  633.                 // line 313
  634.                 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.'313$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse313), 'errors');
  635.                 echo "
  636.                                     </div>
  637.                                     ";
  638.                 // line 315
  639.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse315)) {
  640.                     // line 316
  641.                     echo "                                        <div class=\"ec-select\">
  642.                                             ";
  643.                     // line 317
  644.                     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.'317$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse317), 'widget');
  645.                     echo "
  646.                                             ";
  647.                     // line 318
  648.                     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_id2", [], "any"falsefalsefalse318), 'errors');
  649.                     echo "
  650.                                         </div>
  651.                                     ";
  652.                 }
  653.                 // line 321
  654.                 echo "                                ";
  655.             }
  656.             // line 322
  657.             echo "                                <div class=\"ec-numberInput\"><span>";
  658.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  659.             echo "</span>
  660.                                     ";
  661.             // line 323
  662.             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); })()), "quantity", [], "any"falsefalsefalse323), 'widget');
  663.             echo "
  664.                                     ";
  665.             // line 324
  666.             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); })()), "quantity", [], "any"falsefalsefalse324), 'errors');
  667.             echo "
  668.                                 </div>
  669.                             </div>
  670.                             <div class=\"ec-productRole__btn\">
  671.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  672.                                     ";
  673.             // line 329
  674.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  675.             echo "
  676.                                 </button>
  677.                             </div>
  678.                         ";
  679.         } else {
  680.             // line 333
  681.             echo "                            <div class=\"ec-productRole__btn\">
  682.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  683.                                     ";
  684.             // line 335
  685.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  686.             echo "
  687.                                 </button>
  688.                             </div>
  689.                         ";
  690.         }
  691.         // line 339
  692.         echo "
  693.                         ";
  694.         // line 340
  695.         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.'340$this->source); })()), 'rest');
  696.         echo "
  697.                     </form>
  698.                     <div class=\"ec-modal\">
  699.                         <div class=\"ec-modal-overlay\">
  700.                             <div class=\"ec-modal-wrap\">
  701.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  702.         // line 345
  703.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  704.         echo "\" alt=\"\"/></span></span>
  705.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  706.         // line 346
  707.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  708.         echo "</div>
  709.                                 <div class=\"ec-modal-box\">
  710.                                     <div class=\"ec-role\">
  711.                                         <span class=\"ec-inlineBtn--cancel\">";
  712.         // line 349
  713.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  714.         echo "</span>
  715.                                         <a href=\"";
  716.         // line 350
  717.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  718.         echo "\" class=\"ec-inlineBtn--action\">";
  719.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  720.         echo "</a>
  721.                                     </div>
  722.                                 </div>
  723.                             </div>
  724.                         </div>
  725.                     </div>
  726.                     ";
  727.         // line 356
  728.         if (twig_get_attribute($this->env$this->source, (isset($context["BaseInfo"]) || array_key_exists("BaseInfo"$context) ? $context["BaseInfo"] : (function () { throw new RuntimeError('Variable "BaseInfo" does not exist.'356$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse356)) {
  729.             // line 357
  730.             echo "                        <form action=\"";
  731.             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.'357$this->source); })()), "id", [], "any"falsefalsefalse357)]), "html"nulltrue);
  732.             echo "\" method=\"post\">
  733.                             <div class=\"ec-productRole__btn\">
  734.                                 ";
  735.             // line 359
  736.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'359$this->source); })()) == false)) {
  737.                 // line 360
  738.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  739.                                         ";
  740.                 // line 361
  741.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  742.                 echo "
  743.                                     </button>
  744.                                 ";
  745.             } else {
  746.                 // line 364
  747.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  748.                                             disabled=\"disabled\">";
  749.                 // line 365
  750.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html"nulltrue);
  751.                 echo "
  752.                                     </button>
  753.                                 ";
  754.             }
  755.             // line 368
  756.             echo "                            </div>
  757.                         </form>
  758.                     ";
  759.         }
  760.         // line 371
  761.         echo "                    <div class=\"ec-productRole__description\">";
  762.         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.'371$this->source); })()), "description_detail", [], "any"falsefalsefalse371));
  763.         echo "
  764.                     </div>
  765.                 </div>
  766.             </div>
  767.         </div>
  768.         ";
  769.         // line 376
  770.         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.'376$this->source); })()), "freearea", [], "any"falsefalsefalse376)) {
  771.             // line 377
  772.             echo "             <div class=\"ec-productRole__description\">
  773.                  ";
  774.             // line 378
  775.             echo twig_include($this->env$contexttwig_template_from_string($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.'378$this->source); })()), "freearea", [], "any"falsefalsefalse378)));
  776.             echo "
  777.             </div>
  778.         ";
  779.         }
  780.         // line 381
  781.         echo "    </div>
  782. ";
  783.         
  784.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  785.         
  786.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  787.     }
  788.     public function getTemplateName()
  789.     {
  790.         return "Product/detail.twig";
  791.     }
  792.     public function isTraitable()
  793.     {
  794.         return false;
  795.     }
  796.     public function getDebugInfo()
  797.     {
  798.         return array (  826 => 381,  820 => 378,  817 => 377,  815 => 376,  806 => 371,  801 => 368,  795 => 365,  792 => 364,  786 => 361,  783 => 360,  781 => 359,  775 => 357,  773 => 356,  762 => 350,  758 => 349,  752 => 346,  748 => 345,  740 => 340,  737 => 339,  730 => 335,  726 => 333,  719 => 329,  711 => 324,  707 => 323,  702 => 322,  699 => 321,  693 => 318,  689 => 317,  686 => 316,  684 => 315,  679 => 313,  675 => 312,  672 => 311,  670 => 310,  667 => 309,  665 => 308,  660 => 307,  656 => 305,  648 => 302,  633 => 300,  624 => 299,  607 => 298,  603 => 296,  599 => 295,  595 => 294,  592 => 293,  589 => 292,  587 => 291,  575 => 288,  572 => 287,  569 => 286,  566 => 284,  560 => 281,  556 => 280,  553 => 279,  550 => 278,  544 => 275,  538 => 274,  535 => 273,  529 => 270,  525 => 269,  522 => 268,  520 => 267,  518 => 266,  515 => 265,  513 => 264,  510 => 263,  505 => 261,  498 => 260,  495 => 259,  491 => 257,  486 => 255,  477 => 254,  475 => 253,  471 => 252,  464 => 251,  462 => 250,  459 => 249,  456 => 248,  453 => 246,  442 => 244,  438 => 243,  435 => 242,  430 => 239,  427 => 238,  420 => 232,  401 => 230,  384 => 229,  380 => 227,  371 => 225,  363 => 223,  358 => 222,  350 => 216,  340 => 215,  317 => 201,  307 => 194,  277 => 167,  272 => 164,  263 => 158,  259 => 156,  257 => 155,  254 => 154,  245 => 148,  241 => 146,  239 => 145,  207 => 115,  199 => 113,  197 => 112,  192 => 110,  189 => 109,  187 => 108,  173 => 97,  170 => 96,  160 => 95,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  799.     }
  800.     public function getSourceContext()
  801.     {
  802.         return new Source("{#
  803. This file is part of EC-CUBE
  804. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  805. http://www.ec-cube.co.jp/
  806. For the full copyright and license information, please view the LICENSE
  807. file that was distributed with this source code.
  808. #}
  809. {% extends 'default_frame.twig' %}
  810. {% set body_class = 'product_page' %}
  811. {% block stylesheet %}
  812.     <style>
  813.         .slick-slider {
  814.             margin-bottom: 30px;
  815.         }
  816.         .slick-dots {
  817.             position: absolute;
  818.             bottom: -45px;
  819.             display: block;
  820.             width: 100%;
  821.             padding: 0;
  822.             list-style: none;
  823.             text-align: center;
  824.         }
  825.         .slick-dots li {
  826.             position: relative;
  827.             display: inline-block;
  828.             width: 20px;
  829.             height: 20px;
  830.             margin: 0 5px;
  831.             padding: 0;
  832.             cursor: pointer;
  833.         }
  834.         .slick-dots li button {
  835.             font-size: 0;
  836.             line-height: 0;
  837.             display: block;
  838.             width: 20px;
  839.             height: 20px;
  840.             padding: 5px;
  841.             cursor: pointer;
  842.             color: transparent;
  843.             border: 0;
  844.             outline: none;
  845.             background: transparent;
  846.         }
  847.         .slick-dots li button:hover,
  848.         .slick-dots li button:focus {
  849.             outline: none;
  850.         }
  851.         .slick-dots li button:hover:before,
  852.         .slick-dots li button:focus:before {
  853.             opacity: 1;
  854.         }
  855.         .slick-dots li button:before {
  856.             content: \" \";
  857.             line-height: 20px;
  858.             position: absolute;
  859.             top: 0;
  860.             left: 0;
  861.             width: 12px;
  862.             height: 12px;
  863.             text-align: center;
  864.             opacity: .25;
  865.             background-color: black;
  866.             border-radius: 50%;
  867.         }
  868.         .slick-dots li.slick-active button:before {
  869.             opacity: .75;
  870.             background-color: black;
  871.         }
  872.         .slick-dots li button.thumbnail img {
  873.             width: 0;
  874.             height: 0;
  875.         }
  876.     </style>
  877. {% endblock %}
  878. {% block javascript %}
  879.     <script>
  880.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  881.         // 規格2に選択肢を割り当てる。
  882.         function fnSetClassCategories(form, classcat_id2_selected) {
  883.             var \$form = \$(form);
  884.             var product_id = \$form.find('input[name=product_id]').val();
  885.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  886.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  887.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  888.         }
  889.         {% if form.classcategory_id2 is defined %}
  890.         fnSetClassCategories(
  891.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  892.         );
  893.         {% elseif form.classcategory_id1 is defined %}
  894.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  895.         {% endif %}
  896.     </script>
  897.     <script>
  898.         \$(function() {
  899.             // bfcache無効化
  900.             \$(window).bind('pageshow', function(event) {
  901.                 if (event.originalEvent.persisted) {
  902.                     location.reload(true);
  903.                 }
  904.             });
  905.             \$('.item_visual').slick({
  906.                 dots: false,
  907.                 arrows: false,
  908.                 responsive: [{
  909.                     breakpoint: 768,
  910.                     settings: {
  911.                         dots: true
  912.                     }
  913.                 }]
  914.             });
  915.             \$('.slideThumb').on('click', function() {
  916.                 var index = \$(this).attr('data-index');
  917.                 \$('.item_visual').slick('slickGoTo', index, false);
  918.             })
  919.         });
  920.     </script>
  921.     <script>
  922.         \$(function() {
  923.             \$('.add-cart').on('click', function(event) {
  924.                 {% if form.classcategory_id1 is defined %}
  925.                 // 規格1フォームの必須チェック
  926.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  927.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  928.                     return true;
  929.                 } else {
  930.                     \$('#classcategory_id1')[0].setCustomValidity('');
  931.                 }
  932.                 {% endif %}
  933.                 {% if form.classcategory_id2 is defined %}
  934.                 // 規格2フォームの必須チェック
  935.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  936.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  937.                     return true;
  938.                 } else {
  939.                     \$('#classcategory_id2')[0].setCustomValidity('');
  940.                 }
  941.                 {% endif %}
  942.                 // 個数フォームのチェック
  943.                 if (\$('#quantity').val() < 1) {
  944.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  945.                     return true;
  946.                 } else {
  947.                     \$('#quantity')[0].setCustomValidity('');
  948.                 }
  949.                 event.preventDefault();
  950.                 \$form = \$('#form1');
  951.                 \$.ajax({
  952.                     url: \$form.attr('action'),
  953.                     type: \$form.attr('method'),
  954.                     data: \$form.serialize(),
  955.                     dataType: 'json',
  956.                     beforeSend: function(xhr, settings) {
  957.                         // Buttonを無効にする
  958.                         \$('.add-cart').prop('disabled', true);
  959.                     }
  960.                 }).done(function(data) {
  961.                     // レスポンス内のメッセージをalertで表示
  962.                     \$.each(data.messages, function() {
  963.                         \$('#ec-modal-header').html(this);
  964.                     });
  965.                     \$('.ec-modal').show()
  966.                     // カートブロックを更新する
  967.                     \$.ajax({
  968.                         url: \"{{ url('block_cart') }}\",
  969.                         type: 'GET',
  970.                         dataType: 'html'
  971.                     }).done(function(html) {
  972.                         \$('.ec-headerRole__cart').html(html);
  973.                     });
  974.                 }).fail(function(data) {
  975.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  976.                 }).always(function(data) {
  977.                     // Buttonを有効にする
  978.                     \$('.add-cart').prop('disabled', false);
  979.                 });
  980.             });
  981.         });
  982.         \$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  983.             \$('.ec-modal').hide()
  984.         });
  985.     </script>
  986. {% endblock %}
  987. {% block main %}
  988.     <div class=\"ec-productRole\">
  989.         <div class=\"ec-grid2\">
  990.             <div class=\"ec-grid2__cell\">
  991.                 <div class=\"ec-sliderItemRole\">
  992.                     <div class=\"item_visual\">
  993.                         {% for ProductImage in Product.ProductImage %}
  994.                             <div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\"></div>
  995.                         {% else %}
  996.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\"/></div>
  997.                         {% endfor %}
  998.                     </div>
  999.                     <div class=\"item_nav\">
  1000.                         {% for ProductImage in Product.ProductImage %}
  1001.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\"></div>
  1002.                         {% endfor %}
  1003.                     </div>
  1004.                 </div>
  1005.             </div>
  1006.             <div class=\"ec-grid2__cell\">
  1007.                 <div class=\"ec-productRole__profile\">
  1008.                     {# 商品名 #}
  1009.                     <div class=\"ec-productRole__title\">
  1010.                         <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  1011.                     </div>
  1012.                     {# タグ #}
  1013.                     <ul class=\"ec-productRole__tags\">
  1014.                         {% for Tag in Product.Tags %}
  1015.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  1016.                         {% endfor %}
  1017.                     </ul>
  1018.                     {# 通常価格 #}
  1019.                     {% if Product.hasProductClass -%}
  1020.                         <div class=\"ec-productRole__priceRegular\">
  1021.                             {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  1022.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
  1023.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1024.                             {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  1025.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
  1026.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1027.                             {% endif %}
  1028.                         </div>
  1029.                     {% else %}
  1030.                         {% if Product.getPrice01Max is not null %}
  1031.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  1032.                             <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1033.                         {% endif %}
  1034.                     {% endif %}
  1035.                     {# 販売価格 #}
  1036.                     <div class=\"ec-productRole__price\">
  1037.                         {% if Product.hasProductClass -%}
  1038.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1039.                                 <div class=\"ec-price\">
  1040.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1041.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1042.                                 </div>
  1043.                             {% else %}
  1044.                                 <div class=\"ec-price\">
  1045.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1046.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1047.                                 </div>
  1048.                             {% endif %}
  1049.                         {% else %}
  1050.                             <div class=\"ec-price\">
  1051.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1052.                                 <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1053.                             </div>
  1054.                         {% endif %}
  1055.                     </div>
  1056.                     {# 商品コード #}
  1057.                     {% if Product.code_min is not empty %}
  1058.                         <div class=\"ec-productRole__code\">
  1059.                             {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1060.                         </div>
  1061.                     {% endif %}
  1062.                     {# 関連カテゴリ #}
  1063.                     {% if Product.ProductCategories is not empty %}
  1064.                         <div class=\"ec-productRole__category\">
  1065.                             <div>{{ '関連カテゴリ'|trans }}</div>
  1066.                             {% for ProductCategory in Product.ProductCategories %}
  1067.                                 <ul>
  1068.                                     <li>
  1069.                                         {% for Category in ProductCategory.Category.path %}
  1070.                                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  1071.                                             <span>></span>{% endif -%}
  1072.                                         {% endfor %}
  1073.                                     </li>
  1074.                                 </ul>
  1075.                             {% endfor %}
  1076.                         </div>
  1077.                     {% endif %}
  1078.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1079.                         {% if Product.stock_find %}
  1080.                             <div class=\"ec-productRole__actions\">
  1081.                                 {% if form.classcategory_id1 is defined %}
  1082.                                     <div class=\"ec-select\">
  1083.                                         {{ form_widget(form.classcategory_id1) }}
  1084.                                         {{ form_errors(form.classcategory_id1) }}
  1085.                                     </div>
  1086.                                     {% if form.classcategory_id2 is defined %}
  1087.                                         <div class=\"ec-select\">
  1088.                                             {{ form_widget(form.classcategory_id2) }}
  1089.                                             {{ form_errors(form.classcategory_id2) }}
  1090.                                         </div>
  1091.                                     {% endif %}
  1092.                                 {% endif %}
  1093.                                 <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  1094.                                     {{ form_widget(form.quantity) }}
  1095.                                     {{ form_errors(form.quantity) }}
  1096.                                 </div>
  1097.                             </div>
  1098.                             <div class=\"ec-productRole__btn\">
  1099.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1100.                                     {{ 'カートに入れる'|trans }}
  1101.                                 </button>
  1102.                             </div>
  1103.                         {% else %}
  1104.                             <div class=\"ec-productRole__btn\">
  1105.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1106.                                     {{ 'ただいま品切れ中です。'|trans }}
  1107.                                 </button>
  1108.                             </div>
  1109.                         {% endif %}
  1110.                         {{ form_rest(form) }}
  1111.                     </form>
  1112.                     <div class=\"ec-modal\">
  1113.                         <div class=\"ec-modal-overlay\">
  1114.                             <div class=\"ec-modal-wrap\">
  1115.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1116.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1117.                                 <div class=\"ec-modal-box\">
  1118.                                     <div class=\"ec-role\">
  1119.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1120.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1121.                                     </div>
  1122.                                 </div>
  1123.                             </div>
  1124.                         </div>
  1125.                     </div>
  1126.                     {% if BaseInfo.option_favorite_product %}
  1127.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1128.                             <div class=\"ec-productRole__btn\">
  1129.                                 {% if is_favorite == false %}
  1130.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  1131.                                         {{ 'お気に入りに追加'|trans }}
  1132.                                     </button>
  1133.                                 {% else %}
  1134.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  1135.                                             disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
  1136.                                     </button>
  1137.                                 {% endif %}
  1138.                             </div>
  1139.                         </form>
  1140.                     {% endif %}
  1141.                     <div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
  1142.                     </div>
  1143.                 </div>
  1144.             </div>
  1145.         </div>
  1146.         {% if Product.freearea %}
  1147.              <div class=\"ec-productRole__description\">
  1148.                  {{ include(template_from_string(Product.freearea)) }}
  1149.             </div>
  1150.         {% endif %}
  1151.     </div>
  1152. {% endblock %}
  1153. ""Product/detail.twig""/home/gswubshm/public_html/eccube41to42test.rmx.cfbx.jp/prd/app/template/originalTemplate/Product/detail.twig");
  1154.     }
  1155. }