var/cache/dev/twig/5a/5ab15ef71e0fae9215c07b0479ed36fa.php line 52

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