var/cache/dev/twig/be/be80894ba7384f4db8ade38654d3a964.php line 1093

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_06a879a958a3b9cab946e0919607afcf 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_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_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_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  47.         
  48.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "    <link rel=\"stylesheet\" type=\"text/css\" href=\"/html/user_data/assets/css/calendar.css\">
  60. ";
  61.         
  62.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  63.         
  64.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  65.     }
  66.     // line 19
  67.     public function block_javascript($context, array $blocks = [])
  68.     {
  69.         $macros $this->macros;
  70.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  71.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  72.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  73.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  74.         // line 20
  75.         echo "    <script>
  76.         eccube.classCategories = ";
  77.         // line 21
  78.         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.'21$this->source); })()));
  79.         echo ";
  80.         // 規格2に選択肢を割り当てる。
  81.         function fnSetClassCategories(form, classcat_id2_selected) {
  82.             var \$form = \$(form);
  83.             var product_id = \$form.find('input[name=product_id]').val();
  84.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  85.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  86.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  87.         }
  88.         ";
  89.         // line 32
  90.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse32)) {
  91.             // line 33
  92.             echo "        fnSetClassCategories(
  93.             \$('#form1'), ";
  94.             // line 34
  95.             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.'34$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse34), "vars", [], "any"falsefalsefalse34), "value", [], "any"falsefalsefalse34));
  96.             echo "
  97.         );
  98.         ";
  99.         } elseif (twig_get_attribute($this->env$this->source,         // line 36
  100. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse36)) {
  101.             // line 37
  102.             echo "        eccube.checkStock(\$('#form1'), ";
  103.             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.'37$this->source); })()), "id", [], "any"falsefalsefalse37), "html"nulltrue);
  104.             echo ", ";
  105.             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.'37$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse37), "vars", [], "any"falsefalsefalse37), "value", [], "any"falsefalsefalse37));
  106.             echo ", null);
  107.         ";
  108.         }
  109.         // line 39
  110.         echo "    </script>
  111.     <script>
  112.         \$(function() {
  113.             // bfcache無効化
  114.             \$(window).bind('pageshow', function(event) {
  115.                 if (event.originalEvent.persisted) {
  116.                     location.reload(true);
  117.                 }
  118.             });
  119.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  120.             // img タグに width, height が付与されている.
  121.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  122.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  123.             \$('.ec-grid2__cell').hide();
  124.             var removeSize = function () {
  125.                 \$('.slide-item').height('');
  126.                 \$('.slide-item img')
  127.                     .removeAttr('width')
  128.                     .removeAttr('height')
  129.                     .removeAttr('style');
  130.             };
  131.             var slickInitial = function(slick) {
  132.                 \$('.ec-grid2__cell').fadeIn(1500);
  133.                 var baseHeight = \$(slick.target).height();
  134.                 var baseWidth = \$(slick.target).width();
  135.                 var rate = baseWidth / baseHeight;
  136.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  137.                 // transform を使用することでCLSの影響を受けないようにする
  138.                 \$('.slide-item img')
  139.                     .css(
  140.                         {
  141.                             'transform-origin': 'top left',
  142.                             'transform': 'scaleY(' + rate + ')',
  143.                             'transition': 'transform .1s'
  144.                         }
  145.                     );
  146.                 // 正しいサイズに近くなったら属性を解除する
  147.                 setTimeout(removeSize, 500);
  148.             };
  149.             \$('.item_visual').on('init', slickInitial);
  150.             // リサイズ時は CLS の影響を受けないため属性を解除する
  151.             \$(window).resize(removeSize);
  152.             \$('.item_visual').slick({
  153.                 dots: true,
  154.                 arrows: false,
  155.                 responsive: [{
  156.                     breakpoint: 768,
  157.                     settings: {
  158.                         dots: true
  159.                     }
  160.                 }]
  161.             });
  162.             \$('.slideThumb').on('click', function() {
  163.                 var index = \$(this).attr('data-index');
  164.                 \$('.item_visual').slick('slickGoTo', index, false);
  165.             })
  166.         });
  167.     </script>
  168.     <script>
  169.         \$(function() {
  170.             \$('.add-cart').on('click', function(event) {
  171.                 ";
  172.         // line 103
  173.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse103)) {
  174.             // line 104
  175.             echo "                // 規格1フォームの必須チェック
  176.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  177.                     \$('#classcategory_id1')[0].setCustomValidity('";
  178.             // line 106
  179.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  180.             echo "');
  181.                     return true;
  182.                 } else {
  183.                     \$('#classcategory_id1')[0].setCustomValidity('');
  184.                 }
  185.                 ";
  186.         }
  187.         // line 112
  188.         echo "
  189.                 ";
  190.         // line 113
  191.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse113)) {
  192.             // line 114
  193.             echo "                // 規格2フォームの必須チェック
  194.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  195.                     \$('#classcategory_id2')[0].setCustomValidity('";
  196.             // line 116
  197.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  198.             echo "');
  199.                     return true;
  200.                 } else {
  201.                     \$('#classcategory_id2')[0].setCustomValidity('');
  202.                 }
  203.                 ";
  204.         }
  205.         // line 122
  206.         echo "
  207.                 // 個数フォームのチェック
  208.                 if (\$('#quantity').val() < 1) {
  209.                     \$('#quantity')[0].setCustomValidity('";
  210.         // line 125
  211.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  212.         echo "');
  213.                     return true;
  214.                 } else {
  215.                     \$('#quantity')[0].setCustomValidity('');
  216.                 }
  217.                 event.preventDefault();
  218.                 \$form = \$('#form1');
  219.                 \$.ajax({
  220.                     url: \$form.attr('action'),
  221.                     type: \$form.attr('method'),
  222.                     data: \$form.serialize(),
  223.                     dataType: 'json',
  224.                     beforeSend: function(xhr, settings) {
  225.                         // Buttonを無効にする
  226.                         \$('.add-cart').prop('disabled', true);
  227.                     }
  228.                 }).done(function(data) {
  229.                     // レスポンス内のメッセージをalertで表示
  230.                     \$.each(data.messages, function() {
  231.                         \$('#ec-modal-header').text(this);
  232.                     });
  233.                     \$('.ec-modal').show()
  234.                     // カートブロックを更新する
  235.                     \$.ajax({
  236.                         url: \"";
  237.         // line 152
  238.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  239.         echo "\",
  240.                         type: 'GET',
  241.                         dataType: 'html'
  242.                     }).done(function(html) {
  243.                         \$('.ec-headerRole__cart').html(html);
  244.                     });
  245.                 }).fail(function(data) {
  246.                     alert('";
  247.         // line 159
  248.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  249.         echo "');
  250.                 }).always(function(data) {
  251.                     // Buttonを有効にする
  252.                     \$('.add-cart').prop('disabled', false);
  253.                 });
  254.             });
  255.         });
  256.         \$('.ec-modal-wrap').on('click', function(e) {
  257.             // モーダル内の処理は外側にバブリングさせない
  258.             e.stopPropagation();
  259.         });
  260.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  261.             \$('.ec-modal').hide()
  262.         });
  263.     </script>
  264.     <script type=\"application/ld+json\">
  265.     {
  266.         \"@context\": \"https://schema.org/\",
  267.         \"@type\": \"Product\",
  268.         \"name\": \"";
  269.         // line 179
  270.         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);
  271.         echo "\",
  272.         \"image\": [
  273.             ";
  274.         // line 181
  275.         $context['_parent'] = $context;
  276.         $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.'181$this->source); })()), "ProductImage", [], "any"falsefalsefalse181));
  277.         $context['_iterated'] = false;
  278.         $context['loop'] = [
  279.           'parent' => $context['_parent'],
  280.           'index0' => 0,
  281.           'index'  => 1,
  282.           'first'  => true,
  283.         ];
  284.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  285.             $length count($context['_seq']);
  286.             $context['loop']['revindex0'] = $length 1;
  287.             $context['loop']['revindex'] = $length;
  288.             $context['loop']['length'] = $length;
  289.             $context['loop']['last'] = === $length;
  290.         }
  291.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  292.             // line 182
  293.             echo "                \"";
  294.             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.'182$this->source); })()), "request", [], "any"falsefalsefalse182), "schemeAndHttpHost", [], "any"falsefalsefalse182), "html"nulltrue);
  295.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html"nulltrue);
  296.             echo "\"";
  297.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse182)) {
  298.                 echo ",";
  299.             }
  300.             // line 183
  301.             echo "
  302.             ";
  303.             $context['_iterated'] = true;
  304.             ++$context['loop']['index0'];
  305.             ++$context['loop']['index'];
  306.             $context['loop']['first'] = false;
  307.             if (isset($context['loop']['length'])) {
  308.                 --$context['loop']['revindex0'];
  309.                 --$context['loop']['revindex'];
  310.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  311.             }
  312.         }
  313.         if (!$context['_iterated']) {
  314.             // line 185
  315.             echo "                \"";
  316.             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.'185$this->source); })()), "request", [], "any"falsefalsefalse185), "schemeAndHttpHost", [], "any"falsefalsefalse185), "html"nulltrue);
  317.             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);
  318.             echo "\"
  319.             ";
  320.         }
  321.         $_parent $context['_parent'];
  322.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  323.         $context array_intersect_key($context$_parent) + $_parent;
  324.         // line 187
  325.         echo "        ],
  326.         \"description\": \"";
  327.         // line 188
  328.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruefalse188)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsefalse188), 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); })()), "description_detail", [], "any"falsefalsefalse188))) : (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); })()), "description_detail", [], "any"falsefalsefalse188))), ["
  329. => """ " => ""]), 0300), "html"nulltrue);
  330.         echo "\",
  331.         ";
  332.         // line 189
  333.         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.'189$this->source); })()), "code_min", [], "any"falsefalsefalse189)) {
  334.             // line 190
  335.             echo "        \"sku\": \"";
  336.             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.'190$this->source); })()), "code_min", [], "any"falsefalsefalse190), "html"nulltrue);
  337.             echo "\",
  338.         ";
  339.         }
  340.         // line 192
  341.         echo "        \"offers\": {
  342.             \"@type\": \"Offer\",
  343.             \"url\": \"";
  344.         // line 194
  345.         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.'194$this->source); })()), "id", [], "any"falsefalsefalse194)]), "html"nulltrue);
  346.         echo "\",
  347.             \"priceCurrency\": \"";
  348.         // line 195
  349.         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.'195$this->source); })()), "currency", [], "any"falsefalsefalse195), "html"nulltrue);
  350.         echo "\",
  351.             \"price\": ";
  352.         // line 196
  353.         ((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.'196$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse196)) ? (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.'196$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse196), "html"nulltrue))) : (print (0)));
  354.         echo ",
  355.             \"availability\": \"";
  356.         // line 197
  357.         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.'197$this->source); })()), "stock_find", [], "any"falsefalsefalse197)) ? ("InStock") : ("OutOfStock"));
  358.         echo "\"
  359.         }
  360.     }
  361.     </script>
  362.     <script>
  363.         const rental_setting = '";
  364.         // line 202
  365.         echo twig_escape_filter($this->env, (isset($context["rental_setting"]) || array_key_exists("rental_setting"$context) ? $context["rental_setting"] : (function () { throw new RuntimeError('Variable "rental_setting" does not exist.'202$this->source); })()), "html"nulltrue);
  366.         echo "';
  367.     </script>
  368.     <script src=\"/html/user_data/assets/js/calendar.js\"></script>
  369.     <script>
  370.         \$(function() {
  371.             let name = \$('#product_id').text();
  372.             if (name.length == 1) {
  373.                 name = '0000' + name;
  374.             }
  375.             else if (name.length == 2) {
  376.                 name = '000' + name;
  377.             }
  378.             else if (name.length == 3) {
  379.                 name = '00' + name;
  380.             }
  381.             else if (name.length == 4) {
  382.                 name = '0' + name;
  383.             }
  384.             \$('#product_id').text(name);
  385.             
  386.             if (\$('#classcategory_id1').length == 0) {
  387.   ";
  388.         // line 224
  389.         echo "                \$('.ec-periodInput').hide();
  390.             }
  391.             else {
  392.                 \$('.ec-numberInput').hide();
  393.                 let class_id = one_class_id;
  394.   ";
  395.         // line 230
  396.         if (((isset($context["is_admin"]) || array_key_exists("is_admin"$context) ? $context["is_admin"] : (function () { throw new RuntimeError('Variable "is_admin" does not exist.'230$this->source); })()) == 0)) {
  397.             // line 231
  398.             echo "  ";
  399.             // line 232
  400.             echo "                let del = 0;
  401.                 \$('#classcategory_id1 option').each(function(index) {
  402.                     if (\$(this).text().indexOf('当日') > -1) {
  403.                         del = index;
  404.                     }
  405.                 });
  406.                 \$('#classcategory_id1 option').eq(del).remove();
  407.   ";
  408.         } else {
  409.             // line 240
  410.             echo "  ";
  411.             // line 241
  412.             echo "                class_id = admin_class_id;
  413.   ";
  414.         }
  415.         // line 243
  416.         echo "                \$('#classcategory_id1 option').eq(0).remove();
  417.                 let realsettings = [];
  418.                 \$('#classcategory_id1 option').each(function () {
  419.                   const id = \$(this).val();
  420.                   for (i = 0; i < settings.length; i++) {
  421.                     const setting = settings[i];
  422.                     if (id == setting['id']) {
  423.                       realsettings.push(setting);
  424.                     }
  425.                   }
  426.                 });
  427.                 settings = realsettings;
  428.                 let period = '";
  429.         // line 255
  430.         echo twig_escape_filter($this->env, (isset($context["period"]) || array_key_exists("period"$context) ? $context["period"] : (function () { throw new RuntimeError('Variable "period" does not exist.'255$this->source); })()), "html"nulltrue);
  431.         echo "';
  432.                 \$('.ec-periodInput input').val(period);
  433.                 if (period) {
  434.                     if (period.indexOf('~') > -1) {
  435.                       period = period.split('|')[0];
  436.                       period = period.split('~');
  437.                       let start = period[0].split('/');
  438.                       let end = period[1].split('/');
  439.                       start = new Date(start[0], start[1], start[2]);
  440.                       end = new Date(end[0], end[1], end[2]);
  441.                       let termDay = (end - start) / 86400000;
  442.                       for (i = 0; i < settings.length; i++) {
  443.                         const setting = settings[i];
  444.                         if (termDay == setting['period'] - 1) {
  445.                           class_id = setting['id'];
  446.                         }
  447.                       }
  448.                     }
  449.                 }
  450.                 else {
  451.                   class_id = settings[0]['id'];
  452.                 }
  453.                 \$('#classcategory_id1').val(class_id).change();
  454.                 let label = \$('#classcategory_id1').prev();
  455.                 let number = \$('.ec-periodInput .number');
  456.                 let cart_btn = \$('.add-cart');
  457.                 let period_input = \$('#period');
  458.                 number.hide();
  459.                 setInterval(function() {
  460.                     if (\$('#classcategory_id1').val() == '__unselected') {
  461.                         label.text('未選択');
  462.                         number.text(0);
  463.                     }
  464.                     else {
  465.                         let price = \$('.price02-default').text();
  466.                         if (label.text() != price) {
  467.                             label.text(price);
  468.                         }
  469.                         number.text(\$('#classcategory_id1').val());
  470.                     }
  471.                     if (period_input.val()) {
  472.                       cart_btn.show();
  473.                     }
  474.                     else {
  475.                       cart_btn.hide();
  476.                     }
  477.                 }, 100);
  478.             }
  479.             \$('body').addClass('script_loaded');
  480.         });
  481.     </script>
  482. ";
  483.         
  484.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  485.         
  486.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  487.     }
  488.     // line 309
  489.     public function block_main($context, array $blocks = [])
  490.     {
  491.         $macros $this->macros;
  492.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  493.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  494.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  495.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  496.         // line 310
  497.         echo "<div class=\"c_inner\">
  498.     <div class=\"item_detail\">
  499.         ";
  500.         // line 312
  501.         $context["is_gold"] = false;
  502.         // line 313
  503.         echo "        ";
  504.         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.'313$this->source); })()), "ProductCategories", [], "any"falsefalsefalse313))) {
  505.             // line 314
  506.             echo "        <div class=\"head\">
  507.             ";
  508.             // line 315
  509.             $context['_parent'] = $context;
  510.             $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.'315$this->source); })()), "ProductCategories", [], "any"falsefalsefalse315));
  511.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  512.                 // line 316
  513.                 echo "                ";
  514.                 $context["flag"] = false;
  515.                 // line 317
  516.                 echo "                ";
  517.                 $context['_parent'] = $context;
  518.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse317), "path", [], "any"falsefalsefalse317));
  519.                 $context['loop'] = [
  520.                   'parent' => $context['_parent'],
  521.                   'index0' => 0,
  522.                   'index'  => 1,
  523.                   'first'  => true,
  524.                 ];
  525.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  526.                     $length count($context['_seq']);
  527.                     $context['loop']['revindex0'] = $length 1;
  528.                     $context['loop']['revindex'] = $length;
  529.                     $context['loop']['length'] = $length;
  530.                     $context['loop']['last'] = === $length;
  531.                 }
  532.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  533.                     // line 318
  534.                     echo "                ";
  535.                     if (((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse318) == true) && (twig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse318) == 131))) {
  536.                         echo " ";
  537.                         $context["flag"] = true;
  538.                         echo " ";
  539.                     }
  540.                     // line 319
  541.                     echo "                ";
  542.                     if (((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse319) == true) && (twig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse319) == 193))) {
  543.                         echo " ";
  544.                         $context["is_gold"] = true;
  545.                         echo " ";
  546.                     }
  547.                     // line 320
  548.                     echo "            ";
  549.                     ++$context['loop']['index0'];
  550.                     ++$context['loop']['index'];
  551.                     $context['loop']['first'] = false;
  552.                     if (isset($context['loop']['length'])) {
  553.                         --$context['loop']['revindex0'];
  554.                         --$context['loop']['revindex'];
  555.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  556.                     }
  557.                 }
  558.                 $_parent $context['_parent'];
  559.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  560.                 $context array_intersect_key($context$_parent) + $_parent;
  561.                 // line 321
  562.                 echo "            ";
  563.                 if (((isset($context["flag"]) || array_key_exists("flag"$context) ? $context["flag"] : (function () { throw new RuntimeError('Variable "flag" does not exist.'321$this->source); })()) == true)) {
  564.                     // line 322
  565.                     echo "                <p>HOME > 
  566.                   ";
  567.                     // line 323
  568.                     $context['_parent'] = $context;
  569.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse323), "path", [], "any"falsefalsefalse323));
  570.                     foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  571.                         // line 324
  572.                         echo "                    <a href=\"";
  573.                         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  574.                         echo "?category_id=";
  575.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse324), "html"nulltrue);
  576.                         echo "\">";
  577.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse324), "html"nulltrue);
  578.                         echo "</a> > 
  579.                   ";
  580.                     }
  581.                     $_parent $context['_parent'];
  582.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  583.                     $context array_intersect_key($context$_parent) + $_parent;
  584.                     // line 326
  585.                     echo "                  ";
  586.                     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.'326$this->source); })()), "name", [], "any"falsefalsefalse326), "html"nulltrue);
  587.                     echo "
  588.                 </p>
  589.             ";
  590.                 }
  591.                 // line 329
  592.                 echo "            ";
  593.             }
  594.             $_parent $context['_parent'];
  595.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  596.             $context array_intersect_key($context$_parent) + $_parent;
  597.             // line 330
  598.             echo "        </div>
  599.         ";
  600.         }
  601.         // line 332
  602.         echo "        <div class=\"row2\">
  603.             <div class=\"mv\">
  604.                 <div class=\"item_visual\">
  605.                     ";
  606.         // line 335
  607.         $context['_parent'] = $context;
  608.         $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.'335$this->source); })()), "ProductImage", [], "any"falsefalsefalse335));
  609.         $context['_iterated'] = false;
  610.         $context['loop'] = [
  611.           'parent' => $context['_parent'],
  612.           'index0' => 0,
  613.           'index'  => 1,
  614.           'first'  => true,
  615.         ];
  616.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  617.             $length count($context['_seq']);
  618.             $context['loop']['revindex0'] = $length 1;
  619.             $context['loop']['revindex'] = $length;
  620.             $context['loop']['length'] = $length;
  621.             $context['loop']['last'] = === $length;
  622.         }
  623.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  624.             // line 336
  625.             echo "                        <div class=\"slide-item\"><img src=\"";
  626.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  627.             echo "\" alt=\"";
  628.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse336)) ? (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.'336$this->source); })()), "name", [], "any"falsefalsefalse336), "html"nulltrue))) : (print ("")));
  629.             echo "\" width=\"550\" height=\"550\"";
  630.             if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse336) > 1)) {
  631.                 echo " loading=\"lazy\"";
  632.             }
  633.             echo "></div>
  634.                     ";
  635.             $context['_iterated'] = true;
  636.             ++$context['loop']['index0'];
  637.             ++$context['loop']['index'];
  638.             $context['loop']['first'] = false;
  639.             if (isset($context['loop']['length'])) {
  640.                 --$context['loop']['revindex0'];
  641.                 --$context['loop']['revindex'];
  642.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  643.             }
  644.         }
  645.         if (!$context['_iterated']) {
  646.             // line 338
  647.             echo "                        <div class=\"slide-item\"><img src=\"";
  648.             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);
  649.             echo "\" alt=\"";
  650.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse338)) ? (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.'338$this->source); })()), "name", [], "any"falsefalsefalse338), "html"nulltrue))) : (print ("")));
  651.             echo "\" width=\"550\" height=\"550\"></div>
  652.                     ";
  653.         }
  654.         $_parent $context['_parent'];
  655.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  656.         $context array_intersect_key($context$_parent) + $_parent;
  657.         // line 340
  658.         echo "                </div>
  659.                 <ul class=\"item_nav\">
  660.                     ";
  661.         // line 342
  662.         $context['_parent'] = $context;
  663.         $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.'342$this->source); })()), "ProductImage", [], "any"falsefalsefalse342));
  664.         $context['loop'] = [
  665.           'parent' => $context['_parent'],
  666.           'index0' => 0,
  667.           'index'  => 1,
  668.           'first'  => true,
  669.         ];
  670.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  671.             $length count($context['_seq']);
  672.             $context['loop']['revindex0'] = $length 1;
  673.             $context['loop']['revindex'] = $length;
  674.             $context['loop']['length'] = $length;
  675.             $context['loop']['last'] = === $length;
  676.         }
  677.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  678.             // line 343
  679.             echo "                        <li class=\"slideThumb\" data-index=\"";
  680.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse343), "html"nulltrue);
  681.             echo "\"><img src=\"";
  682.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  683.             echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></li>
  684.                     ";
  685.             ++$context['loop']['index0'];
  686.             ++$context['loop']['index'];
  687.             $context['loop']['first'] = false;
  688.             if (isset($context['loop']['length'])) {
  689.                 --$context['loop']['revindex0'];
  690.                 --$context['loop']['revindex'];
  691.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  692.             }
  693.         }
  694.         $_parent $context['_parent'];
  695.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  696.         $context array_intersect_key($context$_parent) + $_parent;
  697.         // line 345
  698.         echo "                </ul>
  699.             </div>
  700.             <div class=\"desc\">
  701.                 <!--";
  702.         // line 348
  703.         if (((isset($context["sale_type"]) || array_key_exists("sale_type"$context) ? $context["sale_type"] : (function () { throw new RuntimeError('Variable "sale_type" does not exist.'348$this->source); })()) == "3")) {
  704.             // line 349
  705.             echo "                <div id=\"pick_up_only\" style=\"margin-bottom: 1em\"><span>ヤマト便配送不可</span></div>
  706.                 ";
  707.         }
  708.         // line 350
  709.         echo "-->
  710.                 ";
  711.         // line 351
  712.         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.'351$this->source); })()), "freearea", [], "any"falsefalsefalse351)) {
  713.             // line 352
  714.             echo "                <div id=\"pick_up_only\" style=\"margin-bottom: 1em\"><span>";
  715.             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.'352$this->source); })()), "freearea", [], "any"falsefalsefalse352), "html"nulltrue);
  716.             echo "</span></div>
  717.                 ";
  718.         }
  719.         // line 354
  720.         echo "                ";
  721.         // line 355
  722.         echo "                <div class=\"ec-productRole__title\">
  723.                     ";
  724.         // line 356
  725.         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.'356$this->source); })()), "brand", [], "any"falsefalsefalse356)) {
  726.             // line 357
  727.             echo "                    <p>";
  728.             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.'357$this->source); })()), "brand", [], "any"falsefalsefalse357), "html"nulltrue);
  729.             echo "</p>
  730.                     ";
  731.         }
  732.         // line 359
  733.         echo "                    <h2 class=\"ec-headingTitle\">";
  734.         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.'359$this->source); })()), "name", [], "any"falsefalsefalse359), "html"nulltrue);
  735.         echo "</h2>
  736.                 </div>
  737.                 ";
  738.         // line 362
  739.         echo "                ";
  740.         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.'362$this->source); })()), "code_min", [], "any"falsefalsefalse362))) {
  741.             // line 363
  742.             echo "                    <div class=\"ec-productRole__code\">
  743.                         ";
  744.             // line 364
  745.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html"nulltrue);
  746.             echo ": <span class=\"product-code-default\">";
  747.             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.'364$this->source); })()), "code_min", [], "any"falsefalsefalse364), "html"nulltrue);
  748.             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.'364$this->source); })()), "code_min", [], "any"falsefalsefalse364) != 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.'364$this->source); })()), "code_max", [], "any"falsefalsefalse364))) {
  749.                 echo " ~ ";
  750.                 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.'364$this->source); })()), "code_max", [], "any"falsefalsefalse364), "html"nulltrue);
  751.             }
  752.             echo "</span>
  753.                     </div>
  754.                 ";
  755.         }
  756.         // line 367
  757.         echo "                
  758.                 <p class=\"data\">
  759.                   <i>品番: ";
  760.         // line 369
  761.         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.'369$this->source); })()), "number", [], "any"falsefalsefalse369), "html"nulltrue);
  762.         echo "</i>
  763.                   <i>ID: <span id=\"product_id\">";
  764.         // line 370
  765.         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.'370$this->source); })()), "id", [], "any"falsefalsefalse370), "html"nulltrue);
  766.         echo "</span></i>
  767.                 </p>
  768.                 <form action=\"";
  769.         // line 372
  770.         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.'372$this->source); })()), "id", [], "any"falsefalsefalse372)]), "html"nulltrue);
  771.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  772.                     ";
  773.         // line 373
  774.         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.'373$this->source); })()), "stock_find", [], "any"falsefalsefalse373)) {
  775.             // line 374
  776.             echo "                        <div class=\"ec-productRole__actions\">
  777.                             ";
  778.             // line 375
  779.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse375)) {
  780.                 // line 376
  781.                 echo "                                <div class=\"ec-select\">
  782.                                     ";
  783.                 // line 377
  784.                 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.'377$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse377), 'row');
  785.                 echo "
  786.                                     ";
  787.                 // line 378
  788.                 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.'378$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse378), 'errors');
  789.                 echo "
  790.                                 </div>
  791.                                 ";
  792.                 // line 380
  793.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse380)) {
  794.                     // line 381
  795.                     echo "                                    <div class=\"ec-select\">
  796.                                         ";
  797.                     // line 382
  798.                     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.'382$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse382), 'row');
  799.                     echo "
  800.                                         ";
  801.                     // line 383
  802.                     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.'383$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse383), 'errors');
  803.                     echo "
  804.                                     </div>
  805.                                 ";
  806.                 }
  807.                 // line 386
  808.                 echo "                            ";
  809.             }
  810.             // line 387
  811.             echo "                ";
  812.             // line 388
  813.             echo "                <div class=\"ec-productRole__price\" style=\"display: none;\">
  814.                     ";
  815.             // line 389
  816.             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.'389$this->source); })()), "hasProductClass", [], "any"falsefalsefalse389)) {
  817.                 // line 390
  818.                 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.'390$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse390) == 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.'390$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse390))) {
  819.                     // line 391
  820.                     echo "                            <div class=\"ec-price\">
  821.                                 <span class=\"ec-price__price price02-default\">";
  822.                     // line 392
  823.                     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.'392$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse392)), "html"nulltrue);
  824.                     echo "</span>
  825.                                 <span class=\"ec-price__tax\">";
  826.                     // line 393
  827.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  828.                     echo "</span>
  829.                             </div>
  830.                         ";
  831.                 } else {
  832.                     // line 396
  833.                     echo "                            <div class=\"ec-price\">
  834.                                 <span class=\"ec-price__price price02-default\">";
  835.                     // line 397
  836.                     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.'397$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse397)), "html"nulltrue);
  837.                     echo " ~ ";
  838.                     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.'397$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse397)), "html"nulltrue);
  839.                     echo "</span>
  840.                                 <span class=\"ec-price__tax\">";
  841.                     // line 398
  842.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  843.                     echo "</span>
  844.                             </div>
  845.                         ";
  846.                 }
  847.                 // line 401
  848.                 echo "                    ";
  849.             } else {
  850.                 // line 402
  851.                 echo "                        <div class=\"ec-price\">
  852.                             <span class=\"ec-price__price\">";
  853.                 // line 403
  854.                 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.'403$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse403)), "html"nulltrue);
  855.                 echo "</span>
  856.                             <span class=\"ec-price__tax\">";
  857.                 // line 404
  858.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  859.                 echo "</span>
  860.                         </div>
  861.                     ";
  862.             }
  863.             // line 407
  864.             echo "                </div>
  865.                             <div class=\"ec-numberInput\"><span>";
  866.             // line 408
  867.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  868.             echo "</span>
  869.                                 ";
  870.             // line 409
  871.             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.'409$this->source); })()), "quantity", [], "any"falsefalsefalse409), 'widget');
  872.             echo "
  873.                                 ";
  874.             // line 410
  875.             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.'410$this->source); })()), "quantity", [], "any"falsefalsefalse410), 'errors');
  876.             echo "
  877.                             </div>
  878.                         </div>
  879.                         ";
  880.             // line 413
  881.             if ((((isset($context["is_gold"]) || array_key_exists("is_gold"$context) ? $context["is_gold"] : (function () { throw new RuntimeError('Variable "is_gold" does not exist.'413$this->source); })()) == false) || ((isset($context["user_status"]) || array_key_exists("user_status"$context) ? $context["user_status"] : (function () { throw new RuntimeError('Variable "user_status" does not exist.'413$this->source); })()) == 3))) {
  882.                 // line 414
  883.                 echo "<div class=\"ec-periodInput\">
  884.                             <div class=\"cal_root\" data-period=\"";
  885.                 // line 415
  886.                 echo twig_escape_filter($this->env, (isset($context["reserved"]) || array_key_exists("reserved"$context) ? $context["reserved"] : (function () { throw new RuntimeError('Variable "reserved" does not exist.'415$this->source); })()), "html"nulltrue);
  887.                 echo "\">
  888.                                 ";
  889.                 // line 416
  890.                 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.'416$this->source); })()), "period", [], "any"falsefalsefalse416), 'widget');
  891.                 echo "
  892.                                 ";
  893.                 // line 417
  894.                 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.'417$this->source); })()), "period", [], "any"falsefalsefalse417), 'errors');
  895.                 echo "
  896.                                 <em>レンタル期間を選択する</em>
  897.                                 <div class=\"cal_wrap\"></div>
  898.                                 <div class=\"number\"></div>
  899.                             </div>
  900.                         </div>
  901.                         <div class=\"ec-productRole__btn\">
  902.                             <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  903.                                 ";
  904.                 // line 425
  905.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("RESERVE"), "html"nulltrue);
  906.                 echo "
  907.                             </button>
  908.                         </div>
  909.                         ";
  910.             } else {
  911.                 // line 429
  912.                 echo "                        <div style=\"display:none\">";
  913.                 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.'429$this->source); })()), "period", [], "any"falsefalsefalse429), 'widget');
  914.                 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.'429$this->source); })()), "period", [], "any"falsefalsefalse429), 'errors');
  915.                 echo "</div>
  916.                         ";
  917.             }
  918.             // line 431
  919.             echo "                    ";
  920.         } else {
  921.             // line 432
  922.             echo "                        <div style=\"display:none\">";
  923.             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.'432$this->source); })()), "period", [], "any"falsefalsefalse432), 'widget');
  924.             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.'432$this->source); })()), "period", [], "any"falsefalsefalse432), 'errors');
  925.             echo "</div>
  926.                         <div class=\"ec-productRole__btn\">
  927.                             <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  928.                                 ";
  929.             // line 435
  930.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  931.             echo "
  932.                             </button>
  933.                         </div>
  934.                     ";
  935.         }
  936.         // line 439
  937.         echo "
  938.                     ";
  939.         // line 440
  940.         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.'440$this->source); })()), 'rest');
  941.         echo "
  942.                 </form>
  943.                 <div class=\"ec-modal\">
  944.                     <div class=\"ec-modal-overlay\">
  945.                         <div class=\"ec-modal-wrap\">
  946.                             <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  947.         // line 445
  948.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  949.         echo "\" alt=\"\"/></span></span>
  950.                             <div id=\"ec-modal-header\" class=\"text-center\">";
  951.         // line 446
  952.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  953.         echo "</div>
  954.                             <div class=\"ec-modal-box\">
  955.                                 <div class=\"ec-role\">
  956.                                     <span class=\"ec-inlineBtn--cancel\">";
  957.         // line 449
  958.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  959.         echo "</span>
  960.                                     <a href=\"";
  961.         // line 450
  962.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  963.         echo "\" class=\"ec-inlineBtn--action\">";
  964.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  965.         echo "</a>
  966.                                 </div>
  967.                             </div>
  968.                         </div>
  969.                     </div>
  970.                 </div>
  971.                 <div class=\"contact\">
  972.                     <a href=\"";
  973.         // line 457
  974.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("contact");
  975.         echo "?product=";
  976.         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.'457$this->source); })()), "id", [], "any"falsefalsefalse457), "html"nulltrue);
  977.         echo "\">この商品についてお問い合わせ</a>
  978.                 </div>
  979.                 ";
  980.         // line 459
  981.         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.'459$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse459)) {
  982.             // line 460
  983.             echo "                    <form action=\"";
  984.             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.'460$this->source); })()), "id", [], "any"falsefalsefalse460)]), "html"nulltrue);
  985.             echo "\" method=\"post\">
  986.                         <div class=\"ec-productRole__btn\">
  987.                             ";
  988.             // line 462
  989.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'462$this->source); })()) == false)) {
  990.                 // line 463
  991.                 echo "                                <button type=\"submit\" id=\"favorite\" class=\"favorite\" title=\"";
  992.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  993.                 echo "\"></button>
  994.                             ";
  995.             } else {
  996.                 // line 465
  997.                 echo "                                <button type=\"submit\" id=\"favorite\" class=\"favorite done\" disabled=\"disabled\" title=\"";
  998.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html"nulltrue);
  999.                 echo "\"></button>
  1000.                             ";
  1001.             }
  1002.             // line 467
  1003.             echo "                        </div>
  1004.                     </form>
  1005.                 ";
  1006.         }
  1007.         // line 470
  1008.         echo "                <div class=\"description\">
  1009.                     ";
  1010.         // line 472
  1011.         echo "                    ";
  1012.         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.'472$this->source); })()), "stock_min", [], "any"falsefalsefalse472)) {
  1013.             // line 473
  1014.             echo "                    <p><b>在庫数</b>";
  1015.             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.'473$this->source); })()), "stock_min", [], "any"falsefalsefalse473), "html"nulltrue);
  1016.             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.'473$this->source); })()), "stock_min", [], "any"falsefalsefalse473) != 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.'473$this->source); })()), "stock_max", [], "any"falsefalsefalse473))) {
  1017.                 echo " ~ ";
  1018.                 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.'473$this->source); })()), "stock_max", [], "any"falsefalsefalse473), "html"nulltrue);
  1019.             }
  1020.             echo "</p>
  1021.                     ";
  1022.         }
  1023.         // line 475
  1024.         echo "                    ";
  1025.         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.'475$this->source); })()), "size", [], "any"falsefalsefalse475)) {
  1026.             // line 476
  1027.             echo "                    <p><b>SIZE</b>";
  1028.             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.'476$this->source); })()), "size", [], "any"falsefalsefalse476), "html"nulltrue);
  1029.             echo "</p>
  1030.                     ";
  1031.         }
  1032.         // line 478
  1033.         echo "                    ";
  1034.         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.'478$this->source); })()), "material", [], "any"falsefalsefalse478)) {
  1035.             // line 479
  1036.             echo "                    <p><b>MATERIAL</b>";
  1037.             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.'479$this->source); })()), "material", [], "any"falsefalsefalse479), "html"nulltrue);
  1038.             echo "</p>
  1039.                     ";
  1040.         }
  1041.         // line 481
  1042.         echo "                    <p><b>DETAILS</b>
  1043.                     ";
  1044.         // line 482
  1045.         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.'482$this->source); })()), "description_detail", [], "any"falsefalsefalse482));
  1046.         echo "</p>
  1047.                 </div>
  1048.                 
  1049.                 ";
  1050.         // line 486
  1051.         echo "                <dl class=\"tag\">
  1052.                   <dt class=\"ft_e\">TAG</dt>
  1053.                   <dd>
  1054.                   ";
  1055.         // line 489
  1056.         $context['_parent'] = $context;
  1057.         $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.'489$this->source); })()), "Tags", [], "any"falsefalsefalse489));
  1058.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  1059.             // line 490
  1060.             echo "                      <i class=\"tag_";
  1061.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse490), "html"nulltrue);
  1062.             echo "\"><a href=\"/products/list?category_id=&name=&tag1=";
  1063.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse490), "html"nulltrue);
  1064.             echo "\">";
  1065.             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  1066.             echo "</a></i>
  1067.                   ";
  1068.         }
  1069.         $_parent $context['_parent'];
  1070.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  1071.         $context array_intersect_key($context$_parent) + $_parent;
  1072.         // line 492
  1073.         echo "                  </dd>
  1074.                 </dl>
  1075.             </div>
  1076.         </div>
  1077.   <!--";
  1078.         // line 496
  1079.         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.'496$this->source); })()), "freearea", [], "any"falsefalsefalse496)) {
  1080.             // line 497
  1081.             echo "        <div class=\"ec-productRole__description\">
  1082.             ";
  1083.             // line 498
  1084.             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.'498$this->source); })()), "freearea", [], "any"falsefalsefalse498)));
  1085.             echo "
  1086.         </div>
  1087.   ";
  1088.         }
  1089.         // line 500
  1090.         echo "-->
  1091.     </div>
  1092. </div>
  1093. ";
  1094.         
  1095.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1096.         
  1097.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1098.     }
  1099.     public function getTemplateName()
  1100.     {
  1101.         return "Product/detail.twig";
  1102.     }
  1103.     public function isTraitable()
  1104.     {
  1105.         return false;
  1106.     }
  1107.     public function getDebugInfo()
  1108.     {
  1109.         return array (  1125 => 500,  1119 => 498,  1116 => 497,  1114 => 496,  1108 => 492,  1095 => 490,  1091 => 489,  1086 => 486,  1080 => 482,  1077 => 481,  1071 => 479,  1068 => 478,  1062 => 476,  1059 => 475,  1049 => 473,  1046 => 472,  1043 => 470,  1038 => 467,  1032 => 465,  1026 => 463,  1024 => 462,  1018 => 460,  1016 => 459,  1009 => 457,  997 => 450,  993 => 449,  987 => 446,  983 => 445,  975 => 440,  972 => 439,  965 => 435,  957 => 432,  954 => 431,  947 => 429,  940 => 425,  929 => 417,  925 => 416,  921 => 415,  918 => 414,  916 => 413,  910 => 410,  906 => 409,  902 => 408,  899 => 407,  893 => 404,  889 => 403,  886 => 402,  883 => 401,  877 => 398,  871 => 397,  868 => 396,  862 => 393,  858 => 392,  855 => 391,  853 => 390,  851 => 389,  848 => 388,  846 => 387,  843 => 386,  837 => 383,  833 => 382,  830 => 381,  828 => 380,  823 => 378,  819 => 377,  816 => 376,  814 => 375,  811 => 374,  809 => 373,  805 => 372,  800 => 370,  796 => 369,  792 => 367,  780 => 364,  777 => 363,  774 => 362,  768 => 359,  762 => 357,  760 => 356,  757 => 355,  755 => 354,  749 => 352,  747 => 351,  744 => 350,  740 => 349,  738 => 348,  733 => 345,  714 => 343,  697 => 342,  693 => 340,  682 => 338,  660 => 336,  642 => 335,  637 => 332,  633 => 330,  627 => 329,  620 => 326,  607 => 324,  603 => 323,  600 => 322,  597 => 321,  583 => 320,  576 => 319,  569 => 318,  551 => 317,  548 => 316,  544 => 315,  541 => 314,  538 => 313,  536 => 312,  532 => 310,  522 => 309,  459 => 255,  445 => 243,  441 => 241,  439 => 240,  429 => 232,  427 => 231,  425 => 230,  417 => 224,  393 => 202,  385 => 197,  381 => 196,  377 => 195,  373 => 194,  369 => 192,  363 => 190,  361 => 189,  356 => 188,  353 => 187,  343 => 185,  329 => 183,  321 => 182,  303 => 181,  298 => 179,  275 => 159,  265 => 152,  235 => 125,  230 => 122,  221 => 116,  217 => 114,  215 => 113,  212 => 112,  203 => 106,  199 => 104,  197 => 103,  131 => 39,  123 => 37,  121 => 36,  116 => 34,  113 => 33,  111 => 32,  97 => 21,  94 => 20,  84 => 19,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  1110.     }
  1111.     public function getSourceContext()
  1112.     {
  1113.         return new Source("{#
  1114. This file is part of EC-CUBE
  1115. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1116. http://www.ec-cube.co.jp/
  1117. For the full copyright and license information, please view the LICENSE
  1118. file that was distributed with this source code.
  1119. #}
  1120. {% extends 'default_frame.twig' %}
  1121. {% set body_class = 'product_page' %}
  1122. {% block stylesheet %}
  1123.     <link rel=\"stylesheet\" type=\"text/css\" href=\"/html/user_data/assets/css/calendar.css\">
  1124. {% endblock %}
  1125. {% block javascript %}
  1126.     <script>
  1127.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1128.         // 規格2に選択肢を割り当てる。
  1129.         function fnSetClassCategories(form, classcat_id2_selected) {
  1130.             var \$form = \$(form);
  1131.             var product_id = \$form.find('input[name=product_id]').val();
  1132.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1133.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1134.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  1135.         }
  1136.         {% if form.classcategory_id2 is defined %}
  1137.         fnSetClassCategories(
  1138.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  1139.         );
  1140.         {% elseif form.classcategory_id1 is defined %}
  1141.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  1142.         {% endif %}
  1143.     </script>
  1144.     <script>
  1145.         \$(function() {
  1146.             // bfcache無効化
  1147.             \$(window).bind('pageshow', function(event) {
  1148.                 if (event.originalEvent.persisted) {
  1149.                     location.reload(true);
  1150.                 }
  1151.             });
  1152.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  1153.             // img タグに width, height が付与されている.
  1154.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  1155.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  1156.             \$('.ec-grid2__cell').hide();
  1157.             var removeSize = function () {
  1158.                 \$('.slide-item').height('');
  1159.                 \$('.slide-item img')
  1160.                     .removeAttr('width')
  1161.                     .removeAttr('height')
  1162.                     .removeAttr('style');
  1163.             };
  1164.             var slickInitial = function(slick) {
  1165.                 \$('.ec-grid2__cell').fadeIn(1500);
  1166.                 var baseHeight = \$(slick.target).height();
  1167.                 var baseWidth = \$(slick.target).width();
  1168.                 var rate = baseWidth / baseHeight;
  1169.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  1170.                 // transform を使用することでCLSの影響を受けないようにする
  1171.                 \$('.slide-item img')
  1172.                     .css(
  1173.                         {
  1174.                             'transform-origin': 'top left',
  1175.                             'transform': 'scaleY(' + rate + ')',
  1176.                             'transition': 'transform .1s'
  1177.                         }
  1178.                     );
  1179.                 // 正しいサイズに近くなったら属性を解除する
  1180.                 setTimeout(removeSize, 500);
  1181.             };
  1182.             \$('.item_visual').on('init', slickInitial);
  1183.             // リサイズ時は CLS の影響を受けないため属性を解除する
  1184.             \$(window).resize(removeSize);
  1185.             \$('.item_visual').slick({
  1186.                 dots: true,
  1187.                 arrows: false,
  1188.                 responsive: [{
  1189.                     breakpoint: 768,
  1190.                     settings: {
  1191.                         dots: true
  1192.                     }
  1193.                 }]
  1194.             });
  1195.             \$('.slideThumb').on('click', function() {
  1196.                 var index = \$(this).attr('data-index');
  1197.                 \$('.item_visual').slick('slickGoTo', index, false);
  1198.             })
  1199.         });
  1200.     </script>
  1201.     <script>
  1202.         \$(function() {
  1203.             \$('.add-cart').on('click', function(event) {
  1204.                 {% if form.classcategory_id1 is defined %}
  1205.                 // 規格1フォームの必須チェック
  1206.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  1207.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1208.                     return true;
  1209.                 } else {
  1210.                     \$('#classcategory_id1')[0].setCustomValidity('');
  1211.                 }
  1212.                 {% endif %}
  1213.                 {% if form.classcategory_id2 is defined %}
  1214.                 // 規格2フォームの必須チェック
  1215.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  1216.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1217.                     return true;
  1218.                 } else {
  1219.                     \$('#classcategory_id2')[0].setCustomValidity('');
  1220.                 }
  1221.                 {% endif %}
  1222.                 // 個数フォームのチェック
  1223.                 if (\$('#quantity').val() < 1) {
  1224.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1225.                     return true;
  1226.                 } else {
  1227.                     \$('#quantity')[0].setCustomValidity('');
  1228.                 }
  1229.                 event.preventDefault();
  1230.                 \$form = \$('#form1');
  1231.                 \$.ajax({
  1232.                     url: \$form.attr('action'),
  1233.                     type: \$form.attr('method'),
  1234.                     data: \$form.serialize(),
  1235.                     dataType: 'json',
  1236.                     beforeSend: function(xhr, settings) {
  1237.                         // Buttonを無効にする
  1238.                         \$('.add-cart').prop('disabled', true);
  1239.                     }
  1240.                 }).done(function(data) {
  1241.                     // レスポンス内のメッセージをalertで表示
  1242.                     \$.each(data.messages, function() {
  1243.                         \$('#ec-modal-header').text(this);
  1244.                     });
  1245.                     \$('.ec-modal').show()
  1246.                     // カートブロックを更新する
  1247.                     \$.ajax({
  1248.                         url: \"{{ url('block_cart') }}\",
  1249.                         type: 'GET',
  1250.                         dataType: 'html'
  1251.                     }).done(function(html) {
  1252.                         \$('.ec-headerRole__cart').html(html);
  1253.                     });
  1254.                 }).fail(function(data) {
  1255.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1256.                 }).always(function(data) {
  1257.                     // Buttonを有効にする
  1258.                     \$('.add-cart').prop('disabled', false);
  1259.                 });
  1260.             });
  1261.         });
  1262.         \$('.ec-modal-wrap').on('click', function(e) {
  1263.             // モーダル内の処理は外側にバブリングさせない
  1264.             e.stopPropagation();
  1265.         });
  1266.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  1267.             \$('.ec-modal').hide()
  1268.         });
  1269.     </script>
  1270.     <script type=\"application/ld+json\">
  1271.     {
  1272.         \"@context\": \"https://schema.org/\",
  1273.         \"@type\": \"Product\",
  1274.         \"name\": \"{{ Product.name }}\",
  1275.         \"image\": [
  1276.             {% for img in Product.ProductImage %}
  1277.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  1278.             {% else %}
  1279.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  1280.             {% endfor %}
  1281.         ],
  1282.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  1283.         {% if Product.code_min %}
  1284.         \"sku\": \"{{ Product.code_min }}\",
  1285.         {% endif %}
  1286.         \"offers\": {
  1287.             \"@type\": \"Offer\",
  1288.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  1289.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  1290.             \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  1291.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  1292.         }
  1293.     }
  1294.     </script>
  1295.     <script>
  1296.         const rental_setting = '{{ rental_setting }}';
  1297.     </script>
  1298.     <script src=\"/html/user_data/assets/js/calendar.js\"></script>
  1299.     <script>
  1300.         \$(function() {
  1301.             let name = \$('#product_id').text();
  1302.             if (name.length == 1) {
  1303.                 name = '0000' + name;
  1304.             }
  1305.             else if (name.length == 2) {
  1306.                 name = '000' + name;
  1307.             }
  1308.             else if (name.length == 3) {
  1309.                 name = '00' + name;
  1310.             }
  1311.             else if (name.length == 4) {
  1312.                 name = '0' + name;
  1313.             }
  1314.             \$('#product_id').text(name);
  1315.             
  1316.             if (\$('#classcategory_id1').length == 0) {
  1317.   {# レンタル商品でない場合はカレンダー非表示 #}
  1318.                 \$('.ec-periodInput').hide();
  1319.             }
  1320.             else {
  1321.                 \$('.ec-numberInput').hide();
  1322.                 let class_id = one_class_id;
  1323.   {% if is_admin == 0 %}
  1324.   {# 管理者でなければ商品規格から当日を除外 #}
  1325.                 let del = 0;
  1326.                 \$('#classcategory_id1 option').each(function(index) {
  1327.                     if (\$(this).text().indexOf('当日') > -1) {
  1328.                         del = index;
  1329.                     }
  1330.                 });
  1331.                 \$('#classcategory_id1 option').eq(del).remove();
  1332.   {% else %}
  1333.   {# 管理者 #}
  1334.                 class_id = admin_class_id;
  1335.   {% endif %}
  1336.                 \$('#classcategory_id1 option').eq(0).remove();
  1337.                 let realsettings = [];
  1338.                 \$('#classcategory_id1 option').each(function () {
  1339.                   const id = \$(this).val();
  1340.                   for (i = 0; i < settings.length; i++) {
  1341.                     const setting = settings[i];
  1342.                     if (id == setting['id']) {
  1343.                       realsettings.push(setting);
  1344.                     }
  1345.                   }
  1346.                 });
  1347.                 settings = realsettings;
  1348.                 let period = '{{ period }}';
  1349.                 \$('.ec-periodInput input').val(period);
  1350.                 if (period) {
  1351.                     if (period.indexOf('~') > -1) {
  1352.                       period = period.split('|')[0];
  1353.                       period = period.split('~');
  1354.                       let start = period[0].split('/');
  1355.                       let end = period[1].split('/');
  1356.                       start = new Date(start[0], start[1], start[2]);
  1357.                       end = new Date(end[0], end[1], end[2]);
  1358.                       let termDay = (end - start) / 86400000;
  1359.                       for (i = 0; i < settings.length; i++) {
  1360.                         const setting = settings[i];
  1361.                         if (termDay == setting['period'] - 1) {
  1362.                           class_id = setting['id'];
  1363.                         }
  1364.                       }
  1365.                     }
  1366.                 }
  1367.                 else {
  1368.                   class_id = settings[0]['id'];
  1369.                 }
  1370.                 \$('#classcategory_id1').val(class_id).change();
  1371.                 let label = \$('#classcategory_id1').prev();
  1372.                 let number = \$('.ec-periodInput .number');
  1373.                 let cart_btn = \$('.add-cart');
  1374.                 let period_input = \$('#period');
  1375.                 number.hide();
  1376.                 setInterval(function() {
  1377.                     if (\$('#classcategory_id1').val() == '__unselected') {
  1378.                         label.text('未選択');
  1379.                         number.text(0);
  1380.                     }
  1381.                     else {
  1382.                         let price = \$('.price02-default').text();
  1383.                         if (label.text() != price) {
  1384.                             label.text(price);
  1385.                         }
  1386.                         number.text(\$('#classcategory_id1').val());
  1387.                     }
  1388.                     if (period_input.val()) {
  1389.                       cart_btn.show();
  1390.                     }
  1391.                     else {
  1392.                       cart_btn.hide();
  1393.                     }
  1394.                 }, 100);
  1395.             }
  1396.             \$('body').addClass('script_loaded');
  1397.         });
  1398.     </script>
  1399. {% endblock %}
  1400. {% block main %}
  1401. <div class=\"c_inner\">
  1402.     <div class=\"item_detail\">
  1403.         {% set is_gold = false %}
  1404.         {% if Product.ProductCategories is not empty %}
  1405.         <div class=\"head\">
  1406.             {% for ProductCategory in Product.ProductCategories %}
  1407.                 {% set flag = false %}
  1408.                 {% for Category in ProductCategory.Category.path %}
  1409.                 {% if loop.first == true and Category.id == 131 %} {% set flag = true %} {% endif %}
  1410.                 {% if loop.first == true and Category.id == 193 %} {% set is_gold = true %} {% endif %}
  1411.             {% endfor %}
  1412.             {% if flag == true %}{# 表示するカテゴリ指定の場合の分岐処理 #}
  1413.                 <p>HOME > 
  1414.                   {% for Category in ProductCategory.Category.path %}
  1415.                     <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> > 
  1416.                   {% endfor %}
  1417.                   {{ Product.name }}
  1418.                 </p>
  1419.             {% endif %}
  1420.             {% endfor %}
  1421.         </div>
  1422.         {% endif %}
  1423.         <div class=\"row2\">
  1424.             <div class=\"mv\">
  1425.                 <div class=\"item_visual\">
  1426.                     {% for ProductImage in Product.ProductImage %}
  1427.                         <div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"{% if loop.index > 1 %} loading=\"lazy\"{% endif %}></div>
  1428.                     {% else %}
  1429.                         <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
  1430.                     {% endfor %}
  1431.                 </div>
  1432.                 <ul class=\"item_nav\">
  1433.                     {% for ProductImage in Product.ProductImage %}
  1434.                         <li class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></li>
  1435.                     {% endfor %}
  1436.                 </ul>
  1437.             </div>
  1438.             <div class=\"desc\">
  1439.                 <!--{% if sale_type == '3' %}
  1440.                 <div id=\"pick_up_only\" style=\"margin-bottom: 1em\"><span>ヤマト便配送不可</span></div>
  1441.                 {% endif %}-->
  1442.                 {% if Product.freearea %}
  1443.                 <div id=\"pick_up_only\" style=\"margin-bottom: 1em\"><span>{{Product.freearea}}</span></div>
  1444.                 {% endif %}
  1445.                 {# 商品名 #}
  1446.                 <div class=\"ec-productRole__title\">
  1447.                     {% if Product.brand %}
  1448.                     <p>{{ Product.brand }}</p>
  1449.                     {% endif %}
  1450.                     <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  1451.                 </div>
  1452.                 {# 商品コード #}
  1453.                 {% if Product.code_min is not empty %}
  1454.                     <div class=\"ec-productRole__code\">
  1455.                         {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1456.                     </div>
  1457.                 {% endif %}
  1458.                 
  1459.                 <p class=\"data\">
  1460.                   <i>品番: {{ Product.number }}</i>
  1461.                   <i>ID: <span id=\"product_id\">{{ Product.id }}</span></i>
  1462.                 </p>
  1463.                 <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1464.                     {% if Product.stock_find %}
  1465.                         <div class=\"ec-productRole__actions\">
  1466.                             {% if form.classcategory_id1 is defined %}
  1467.                                 <div class=\"ec-select\">
  1468.                                     {{ form_row(form.classcategory_id1) }}
  1469.                                     {{ form_errors(form.classcategory_id1) }}
  1470.                                 </div>
  1471.                                 {% if form.classcategory_id2 is defined %}
  1472.                                     <div class=\"ec-select\">
  1473.                                         {{ form_row(form.classcategory_id2) }}
  1474.                                         {{ form_errors(form.classcategory_id2) }}
  1475.                                     </div>
  1476.                                 {% endif %}
  1477.                             {% endif %}
  1478.                 {# 販売価格 #}
  1479.                 <div class=\"ec-productRole__price\" style=\"display: none;\">
  1480.                     {% if Product.hasProductClass -%}
  1481.                         {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1482.                             <div class=\"ec-price\">
  1483.                                 <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1484.                                 <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1485.                             </div>
  1486.                         {% else %}
  1487.                             <div class=\"ec-price\">
  1488.                                 <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1489.                                 <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1490.                             </div>
  1491.                         {% endif %}
  1492.                     {% else %}
  1493.                         <div class=\"ec-price\">
  1494.                             <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1495.                             <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1496.                         </div>
  1497.                     {% endif %}
  1498.                 </div>
  1499.                             <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  1500.                                 {{ form_widget(form.quantity) }}
  1501.                                 {{ form_errors(form.quantity) }}
  1502.                             </div>
  1503.                         </div>
  1504.                         {% if is_gold == false or user_status == 3 -%}
  1505.                         <div class=\"ec-periodInput\">
  1506.                             <div class=\"cal_root\" data-period=\"{{ reserved }}\">
  1507.                                 {{ form_widget(form.period) }}
  1508.                                 {{ form_errors(form.period) }}
  1509.                                 <em>レンタル期間を選択する</em>
  1510.                                 <div class=\"cal_wrap\"></div>
  1511.                                 <div class=\"number\"></div>
  1512.                             </div>
  1513.                         </div>
  1514.                         <div class=\"ec-productRole__btn\">
  1515.                             <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1516.                                 {{ 'RESERVE'|trans }}
  1517.                             </button>
  1518.                         </div>
  1519.                         {% else %}
  1520.                         <div style=\"display:none\">{{ form_widget(form.period) }}{{ form_errors(form.period) }}</div>
  1521.                         {% endif %}
  1522.                     {% else %}
  1523.                         <div style=\"display:none\">{{ form_widget(form.period) }}{{ form_errors(form.period) }}</div>
  1524.                         <div class=\"ec-productRole__btn\">
  1525.                             <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1526.                                 {{ 'ただいま品切れ中です。'|trans }}
  1527.                             </button>
  1528.                         </div>
  1529.                     {% endif %}
  1530.                     {{ form_rest(form) }}
  1531.                 </form>
  1532.                 <div class=\"ec-modal\">
  1533.                     <div class=\"ec-modal-overlay\">
  1534.                         <div class=\"ec-modal-wrap\">
  1535.                             <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1536.                             <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1537.                             <div class=\"ec-modal-box\">
  1538.                                 <div class=\"ec-role\">
  1539.                                     <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1540.                                     <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1541.                                 </div>
  1542.                             </div>
  1543.                         </div>
  1544.                     </div>
  1545.                 </div>
  1546.                 <div class=\"contact\">
  1547.                     <a href=\"{{ url('contact') }}?product={{ Product.id }}\">この商品についてお問い合わせ</a>
  1548.                 </div>
  1549.                 {% if BaseInfo.option_favorite_product %}
  1550.                     <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1551.                         <div class=\"ec-productRole__btn\">
  1552.                             {% if is_favorite == false %}
  1553.                                 <button type=\"submit\" id=\"favorite\" class=\"favorite\" title=\"{{ 'お気に入りに追加'|trans }}\"></button>
  1554.                             {% else %}
  1555.                                 <button type=\"submit\" id=\"favorite\" class=\"favorite done\" disabled=\"disabled\" title=\"{{ 'お気に入りに追加済です。'|trans }}\"></button>
  1556.                             {% endif %}
  1557.                         </div>
  1558.                     </form>
  1559.                 {% endif %}
  1560.                 <div class=\"description\">
  1561.                     {# 在庫数 #}
  1562.                     {% if Product.stock_min %}
  1563.                     <p><b>在庫数</b>{{ Product.stock_min }}{% if Product.stock_min != Product.stock_max %} ~ {{ Product.stock_max }}{% endif %}</p>
  1564.                     {% endif %}
  1565.                     {% if Product.size %}
  1566.                     <p><b>SIZE</b>{{ Product.size }}</p>
  1567.                     {% endif %}
  1568.                     {% if Product.material %}
  1569.                     <p><b>MATERIAL</b>{{ Product.material }}</p>
  1570.                     {% endif %}
  1571.                     <p><b>DETAILS</b>
  1572.                     {{ Product.description_detail|raw|nl2br }}</p>
  1573.                 </div>
  1574.                 
  1575.                 {# タグ #}
  1576.                 <dl class=\"tag\">
  1577.                   <dt class=\"ft_e\">TAG</dt>
  1578.                   <dd>
  1579.                   {% for Tag in Product.Tags %}
  1580.                       <i class=\"tag_{{ Tag.id }}\"><a href=\"/products/list?category_id=&name=&tag1={{ Tag.id }}\">{{ Tag }}</a></i>
  1581.                   {% endfor %}
  1582.                   </dd>
  1583.                 </dl>
  1584.             </div>
  1585.         </div>
  1586.   <!--{% if Product.freearea %}
  1587.         <div class=\"ec-productRole__description\">
  1588.             {{ include(template_from_string(Product.freearea)) }}
  1589.         </div>
  1590.   {% endif %}-->
  1591.     </div>
  1592. </div>
  1593. {% endblock %}""Product/detail.twig""/home/xs355060/ppplot.com/public_html/props.ppplot.com/app/template/default/Product/detail.twig");
  1594.     }
  1595. }