var/cache/dev/twig/19/19b9175a78af49111ed71cc9830d74e846bd1b60ebb803ed909a8b17de378af5.php line 53

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. /* __string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42 */
  14. class __TwigTemplate_b9c36aa56f816924628381d563fab24601469bf5871727f4759921ad74053636 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 "fullwidth_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42"));
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42"));
  40.         // line 13
  41.         $context["body_class"] = "product_page";
  42.         // line 11
  43.         $this->parent $this->loadTemplate("fullwidth_frame.twig""__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42"11);
  44.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  47.         
  48.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "    <style>
  60.         .slick-slider {
  61.             margin-bottom: 30px;
  62.         }
  63.         .slick-dots {
  64.             position: absolute;
  65.             bottom: -45px;
  66.             display: block;
  67.             width: 100%;
  68.             padding: 0;
  69.             list-style: none;
  70.             text-align: center;
  71.         }
  72.         .slick-dots li {
  73.             position: relative;
  74.             display: inline-block;
  75.             width: 20px;
  76.             height: 20px;
  77.             margin: 0 5px;
  78.             padding: 0;
  79.             cursor: pointer;
  80.         }
  81.         .slick-dots li button {
  82.             font-size: 0;
  83.             line-height: 0;
  84.             display: block;
  85.             width: 20px;
  86.             height: 20px;
  87.             padding: 5px;
  88.             cursor: pointer;
  89.             color: transparent;
  90.             border: 0;
  91.             outline: none;
  92.             background: transparent;
  93.         }
  94.         .slick-dots li button:hover,
  95.         .slick-dots li button:focus {
  96.             outline: none;
  97.         }
  98.         .slick-dots li button:hover:before,
  99.         .slick-dots li button:focus:before {
  100.             opacity: 1;
  101.         }
  102.         .slick-dots li button:before {
  103.             content: \" \";
  104.             line-height: 20px;
  105.             position: absolute;
  106.             top: 0;
  107.             left: 0;
  108.             width: 12px;
  109.             height: 12px;
  110.             text-align: center;
  111.             opacity: .25;
  112.             background-color: black;
  113.             border-radius: 50%;
  114.         }
  115.         .slick-dots li.slick-active button:before {
  116.             opacity: .75;
  117.             background-color: black;
  118.         }
  119.         .slick-dots li button.thumbnail img {
  120.             width: 0;
  121.             height: 0;
  122.         }
  123.     </style>
  124. ";
  125.         
  126.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  127.         
  128.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  129.     }
  130.     // line 95
  131.     public function block_javascript($context, array $blocks = [])
  132.     {
  133.         $macros $this->macros;
  134.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  135.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  136.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  137.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  138.         // line 96
  139.         echo "    <script>
  140.         eccube.classCategories = ";
  141.         // line 97
  142.         echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'97$this->source); })()));
  143.         echo ";
  144.         // 規格2に選択肢を割り当てる。
  145.         function fnSetClassCategories(form, classcat_id2_selected) {
  146.             var \$form = \$(form);
  147.             var product_id = \$form.find('input[name=product_id]').val();
  148.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  149.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  150.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  151.         }
  152.         ";
  153.         // line 108
  154.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse108)) {
  155.             // line 109
  156.             echo "        fnSetClassCategories(
  157.             \$('#form1'), ";
  158.             // line 110
  159.             echo json_encode(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'110$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse110), "vars", [], "any"falsefalsefalse110), "value", [], "any"falsefalsefalse110));
  160.             echo "
  161.         );
  162.         ";
  163.         } elseif (twig_get_attribute($this->env$this->source,         // line 112
  164. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse112)) {
  165.             // line 113
  166.             echo "        eccube.checkStock(\$('#form1'), ";
  167.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'113$this->source); })()), "id", [], "any"falsefalsefalse113), "html"nulltrue);
  168.             echo ", ";
  169.             echo json_encode(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'113$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse113), "vars", [], "any"falsefalsefalse113), "value", [], "any"falsefalsefalse113));
  170.             echo ", null);
  171.         ";
  172.         }
  173.         // line 115
  174.         echo "    </script>
  175.     <script>
  176.         \$(function() {
  177.             // bfcache無効化
  178.             \$(window).bind('pageshow', function(event) {
  179.                 if (event.originalEvent.persisted) {
  180.                     location.reload(true);
  181.                 }
  182.             });
  183.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  184.             // img タグに width, height が付与されている.
  185.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  186.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  187.             \$('.ec-grid2__cell').hide();
  188.             var removeSize = function () {
  189.                 \$('.slide-item').height('');
  190.                 \$('.slide-item img')
  191.                     .removeAttr('width')
  192.                     .removeAttr('height')
  193.                     .removeAttr('style');
  194.             };
  195.             var slickInitial = function(slick) {
  196.                 \$('.ec-grid2__cell').fadeIn(1500);
  197.                 var baseHeight = \$(slick.target).height();
  198.                 var baseWidth = \$(slick.target).width();
  199.                 var rate = baseWidth / baseHeight;
  200.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  201.                 // transform を使用することでCLSの影響を受けないようにする
  202.                 \$('.slide-item img')
  203.                     .css(
  204.                         {
  205.                             'transform-origin': 'top left',
  206.                             'transform': 'scaleY(' + rate + ')',
  207.                             'transition': 'transform .1s'
  208.                         }
  209.                     );
  210.                 // 正しいサイズに近くなったら属性を解除する
  211.                 setTimeout(removeSize, 500);
  212.             };
  213.             \$('.item_visual').on('init', slickInitial);
  214.             \$('.item_visual').on('init beforeChange', function(event, slick, currentSlide){
  215.                 var i = (currentSlide ? currentSlide : 0) + 1;
  216.                 var progress = (i / slick.slideCount) * 100;
  217.                 \$('.progress-bar').css('width', progress + '%');
  218.             });
  219.             // リサイズ時は CLS の影響を受けないため属性を解除する
  220.             \$(window).resize(removeSize);
  221.             \$('.item_visual').slick({
  222.                 dots: false,
  223.                 arrows: true,
  224.                 responsive: [{
  225.                     breakpoint: 768,
  226.                     settings: {
  227.                         dots: true
  228.                     }
  229.                 }]
  230.             });
  231.             \$('.slideThumb').on('click', function() {
  232.                 var index = \$(this).attr('data-index');
  233.                 \$('.item_visual').slick('slickGoTo', index, false);
  234.             })
  235.         });
  236.     </script>
  237.     <script>
  238.         \$(function() {
  239.             \$('.add-cart').on('click', function(event) {
  240.                 //オプションの必須チェック
  241.                 // choice_display_area要素を取得
  242.                 var \$choiceDisplayAreas = \$('.choice_display_area');
  243.                 // 全ての要素がdata-select-resultがtrueかどうかチェックする関数
  244.                 function allDataSelectResultTrue() {
  245.                   var allTrue = true;
  246.                   \$choiceDisplayAreas.each(function() {
  247.                     if (\$(this).attr('data-select-result') !== 'true') {
  248.                       allTrue = false;
  249.                       return false; // eachループを抜ける
  250.                     }
  251.                   });
  252.                   return allTrue;
  253.                 }
  254.                 // 全ての要素がdata-select-resultがtrueでなければ.error_message_cartを表示し、クリックイベントを中止
  255.                 if (!allDataSelectResultTrue()) {
  256.                   \$('.error_message_cart').show();
  257.                   event.preventDefault(); // クリックイベントを中止
  258.                   event.stopImmediatePropagation(); // 他のイベントハンドラーに影響を与えないようにする
  259.                   return;
  260.                 }
  261.                 ";
  262.         // line 210
  263.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse210)) {
  264.             // line 211
  265.             echo "                // 規格1フォームの必須チェック
  266.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  267.                     \$('#classcategory_id1')[0].setCustomValidity('";
  268.             // line 213
  269.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  270.             echo "');
  271.                     return true;
  272.                 } else {
  273.                     \$('#classcategory_id1')[0].setCustomValidity('');
  274.                 }
  275.                 ";
  276.         }
  277.         // line 219
  278.         echo "
  279.                 ";
  280.         // line 220
  281.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse220)) {
  282.             // line 221
  283.             echo "                // 規格2フォームの必須チェック
  284.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  285.                     \$('#classcategory_id2')[0].setCustomValidity('";
  286.             // line 223
  287.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  288.             echo "');
  289.                     return true;
  290.                 } else {
  291.                     \$('#classcategory_id2')[0].setCustomValidity('');
  292.                 }
  293.                 ";
  294.         }
  295.         // line 229
  296.         echo "
  297.                 // 個数フォームのチェック
  298.                 if (\$('#quantity').val() < 1) {
  299.                     \$('#quantity')[0].setCustomValidity('";
  300.         // line 232
  301.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  302.         echo "');
  303.                     return true;
  304.                 } else {
  305.                     \$('#quantity')[0].setCustomValidity('');
  306.                 }
  307.                 event.preventDefault();
  308.                 \$form = \$('#form1');
  309.                 \$.ajax({
  310.                     url: \$form.attr('action'),
  311.                     type: \$form.attr('method'),
  312.                     data: \$form.serialize(),
  313.                     dataType: 'json',
  314.                     beforeSend: function(xhr, settings) {
  315.                         // Buttonを無効にする
  316.                         \$('.add-cart').prop('disabled', true);
  317.                     }
  318.                 }).done(function(data) {
  319.                     // レスポンス内のメッセージをalertで表示
  320.                     \$.each(data.messages, function() {
  321.                         \$('#ec-modal-header').text(this);
  322.                     });
  323.                     \$('.ec-modal').show()
  324.                     // カートブロックを更新する
  325.                     \$.ajax({
  326.                         url: \"";
  327.         // line 259
  328.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  329.         echo "\",
  330.                         type: 'GET',
  331.                         dataType: 'html'
  332.                     }).done(function(html) {
  333.                         \$('.ec-headerRole__cart').html(html);
  334.                     });
  335.                 }).fail(function(data) {
  336.                     alert('";
  337.         // line 266
  338.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  339.         echo "');
  340.                 }).always(function(data) {
  341.                     // Buttonを有効にする
  342.                     \$('.add-cart').prop('disabled', false);
  343.                 });
  344.             });
  345.         });
  346.         \$('.ec-modal-wrap').on('click', function(e) {
  347.             // モーダル内の処理は外側にバブリングさせない
  348.             e.stopPropagation();
  349.         });
  350.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  351.             \$('.ec-modal').hide()
  352.         });
  353.     </script>
  354.     <script type=\"application/ld+json\">
  355.     {
  356.         \"@context\": \"https://schema.org/\",
  357.         \"@type\": \"Product\",
  358.         \"name\": \"";
  359.         // line 286
  360.         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.'286$this->source); })()), "name", [], "any"falsefalsefalse286), "html"nulltrue);
  361.         echo "\",
  362.         \"image\": [
  363.             ";
  364.         // line 288
  365.         $context['_parent'] = $context;
  366.         $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.'288$this->source); })()), "ProductImage", [], "any"falsefalsefalse288));
  367.         $context['_iterated'] = false;
  368.         $context['loop'] = [
  369.           'parent' => $context['_parent'],
  370.           'index0' => 0,
  371.           'index'  => 1,
  372.           'first'  => true,
  373.         ];
  374.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  375.             $length count($context['_seq']);
  376.             $context['loop']['revindex0'] = $length 1;
  377.             $context['loop']['revindex'] = $length;
  378.             $context['loop']['length'] = $length;
  379.             $context['loop']['last'] = === $length;
  380.         }
  381.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  382.             // line 289
  383.             echo "                \"";
  384.             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.'289$this->source); })()), "request", [], "any"falsefalsefalse289), "schemeAndHttpHost", [], "any"falsefalsefalse289), "html"nulltrue);
  385.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html"nulltrue);
  386.             echo "\"";
  387.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse289)) {
  388.                 echo ",";
  389.             }
  390.             // line 290
  391.             echo "
  392.             ";
  393.             $context['_iterated'] = true;
  394.             ++$context['loop']['index0'];
  395.             ++$context['loop']['index'];
  396.             $context['loop']['first'] = false;
  397.             if (isset($context['loop']['length'])) {
  398.                 --$context['loop']['revindex0'];
  399.                 --$context['loop']['revindex'];
  400.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  401.             }
  402.         }
  403.         if (!$context['_iterated']) {
  404.             // line 292
  405.             echo "                \"";
  406.             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.'292$this->source); })()), "request", [], "any"falsefalsefalse292), "schemeAndHttpHost", [], "any"falsefalsefalse292), "html"nulltrue);
  407.             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);
  408.             echo "\"
  409.             ";
  410.         }
  411.         $_parent $context['_parent'];
  412.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  413.         $context array_intersect_key($context$_parent) + $_parent;
  414.         // line 294
  415.         echo "        ],
  416.         \"description\": \"";
  417.         // line 295
  418.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruefalse295)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsefalse295), twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'295$this->source); })()), "description_detail", [], "any"falsefalsefalse295))) : (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'295$this->source); })()), "description_detail", [], "any"falsefalsefalse295))), ["
  419. => """ " => ""]), 0300), "html"nulltrue);
  420.         echo "\",
  421.         ";
  422.         // line 296
  423.         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.'296$this->source); })()), "code_min", [], "any"falsefalsefalse296)) {
  424.             // line 297
  425.             echo "        \"sku\": \"";
  426.             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.'297$this->source); })()), "code_min", [], "any"falsefalsefalse297), "html"nulltrue);
  427.             echo "\",
  428.         ";
  429.         }
  430.         // line 299
  431.         echo "        \"offers\": {
  432.             \"@type\": \"Offer\",
  433.             \"url\": \"";
  434.         // line 301
  435.         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.'301$this->source); })()), "id", [], "any"falsefalsefalse301)]), "html"nulltrue);
  436.         echo "\",
  437.             \"priceCurrency\": \"";
  438.         // line 302
  439.         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.'302$this->source); })()), "currency", [], "any"falsefalsefalse302), "html"nulltrue);
  440.         echo "\",
  441.             \"price\": ";
  442.         // line 303
  443.         ((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.'303$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse303)) ? (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.'303$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse303), "html"nulltrue))) : (print (0)));
  444.         echo ",
  445.             \"availability\": \"";
  446.         // line 304
  447.         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.'304$this->source); })()), "stock_find", [], "any"falsefalsefalse304)) ? ("InStock") : ("OutOfStock"));
  448.         echo "\",
  449.             \"optionPrice\": 0
  450.         }
  451.     }
  452.     </script>
  453. ";
  454.         
  455.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  456.         
  457.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  458.     }
  459.     // line 312
  460.     public function block_main($context, array $blocks = [])
  461.     {
  462.         $macros $this->macros;
  463.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  464.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  465.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  466.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  467.         // line 313
  468.         echo "    <div class=\"ec-productRole\">
  469.         <div class=\"ec-grid2\">
  470.             <div class=\"ec-grid2__cell\">
  471.                 <div class=\"ec-sliderItemRole\">
  472.                     <div class=\"item_visual\">
  473.                         ";
  474.         // line 319
  475.         $context['_parent'] = $context;
  476.         $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.'319$this->source); })()), "ProductImage", [], "any"falsefalsefalse319));
  477.         $context['_iterated'] = false;
  478.         $context['loop'] = [
  479.           'parent' => $context['_parent'],
  480.           'index0' => 0,
  481.           'index'  => 1,
  482.           'first'  => true,
  483.         ];
  484.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  485.             $length count($context['_seq']);
  486.             $context['loop']['revindex0'] = $length 1;
  487.             $context['loop']['revindex'] = $length;
  488.             $context['loop']['length'] = $length;
  489.             $context['loop']['last'] = === $length;
  490.         }
  491.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  492.             // line 320
  493.             echo "                            <div class=\"slide-item\"><img src=\"";
  494.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  495.             echo "\" alt=\"";
  496.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse320)) ? (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.'320$this->source); })()), "name", [], "any"falsefalsefalse320), "html"nulltrue))) : (print ("")));
  497.             echo "\" width=\"550\" height=\"550\"";
  498.             if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse320) > 1)) {
  499.                 echo " loading=\"lazy\"";
  500.             }
  501.             echo "></div>
  502.                         ";
  503.             $context['_iterated'] = true;
  504.             ++$context['loop']['index0'];
  505.             ++$context['loop']['index'];
  506.             $context['loop']['first'] = false;
  507.             if (isset($context['loop']['length'])) {
  508.                 --$context['loop']['revindex0'];
  509.                 --$context['loop']['revindex'];
  510.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  511.             }
  512.         }
  513.         if (!$context['_iterated']) {
  514.             // line 322
  515.             echo "                            <div class=\"slide-item\"><img src=\"";
  516.             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);
  517.             echo "\" alt=\"";
  518.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse322)) ? (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.'322$this->source); })()), "name", [], "any"falsefalsefalse322), "html"nulltrue))) : (print ("")));
  519.             echo "\" width=\"550\" height=\"550\"></div>
  520.                         ";
  521.         }
  522.         $_parent $context['_parent'];
  523.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  524.         $context array_intersect_key($context$_parent) + $_parent;
  525.         // line 324
  526.         echo "                    </div>
  527.                     <div class=\"progress\">
  528.                         <div class=\"progress-bar\"></div>
  529.                     </div>
  530.                     <div class=\"item_nav\">
  531.                         ";
  532.         // line 331
  533.         $context['_parent'] = $context;
  534.         $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.'331$this->source); })()), "ProductImage", [], "any"falsefalsefalse331));
  535.         $context['loop'] = [
  536.           'parent' => $context['_parent'],
  537.           'index0' => 0,
  538.           'index'  => 1,
  539.           'first'  => true,
  540.         ];
  541.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  542.             $length count($context['_seq']);
  543.             $context['loop']['revindex0'] = $length 1;
  544.             $context['loop']['revindex'] = $length;
  545.             $context['loop']['length'] = $length;
  546.             $context['loop']['last'] = === $length;
  547.         }
  548.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  549.             // line 332
  550.             echo "                            <div class=\"slideThumb\" data-index=\"";
  551.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse332), "html"nulltrue);
  552.             echo "\"><img src=\"";
  553.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  554.             echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  555.                         ";
  556.             ++$context['loop']['index0'];
  557.             ++$context['loop']['index'];
  558.             $context['loop']['first'] = false;
  559.             if (isset($context['loop']['length'])) {
  560.                 --$context['loop']['revindex0'];
  561.                 --$context['loop']['revindex'];
  562.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  563.             }
  564.         }
  565.         $_parent $context['_parent'];
  566.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  567.         $context array_intersect_key($context$_parent) + $_parent;
  568.         // line 334
  569.         echo "                    </div>
  570.                 </div>
  571.             </div>
  572.             <div class=\"ec-grid2__cell\">
  573.                 <div class=\"ec-productRole__profile\">
  574.                     ";
  575.         // line 341
  576.         echo "                    <ul class=\"ec-productRole__tags\">
  577.                         ";
  578.         // line 343
  579.         echo "                        ";
  580.         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.'343$this->source); })()), "ViewData", [=> 1], "method"falsefalsefalse343))) {
  581.             // line 344
  582.             echo "                            ";
  583.             $context["view_data_icons"] = twig_reverse_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.'344$this->source); })()), "ViewData", [=> 1], "method"falsefalsefalse344));
  584.             // line 345
  585.             echo "                            ";
  586.             $context['_parent'] = $context;
  587.             $context['_seq'] = twig_ensure_traversable((isset($context["view_data_icons"]) || array_key_exists("view_data_icons"$context) ? $context["view_data_icons"] : (function () { throw new RuntimeError('Variable "view_data_icons" does not exist.'345$this->source); })()));
  588.             foreach ($context['_seq'] as $context["_key"] => $context["view_data_icon"]) {
  589.                 // line 346
  590.                 echo "                                <li class=\"ec-productRole__tag\">";
  591.                 echo twig_escape_filter($this->env$context["view_data_icon"], "html"nulltrue);
  592.                 echo "</li>
  593.                             ";
  594.             }
  595.             $_parent $context['_parent'];
  596.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['view_data_icon'], $context['_parent'], $context['loop']);
  597.             $context array_intersect_key($context$_parent) + $_parent;
  598.             // line 348
  599.             echo "                        ";
  600.         }
  601.         // line 349
  602.         echo "
  603.                     </ul>
  604.                     ";
  605.         // line 354
  606.         echo "                    ";
  607.         // line 363
  608.         echo "
  609.                     ";
  610.         // line 365
  611.         echo "                    ";
  612.         $context["parentId"] = 34;
  613.         // line 366
  614.         echo "                    ";
  615.         $context["childCategories"] = [];
  616.         // line 367
  617.         echo "                    ";
  618.         // line 368
  619.         echo "                    ";
  620.         $context['_parent'] = $context;
  621.         $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.'368$this->source); })()), "ProductCategories", [], "any"falsefalsefalse368));
  622.         foreach ($context['_seq'] as $context["_key"] => $context["productCategory"]) {
  623.             // line 369
  624.             echo "                        ";
  625.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productCategory"], "Category", [], "any"falsefalsefalse369), "Parent", [], "any"falsefalsefalse369) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productCategory"], "Category", [], "any"falsefalsefalse369), "Parent", [], "any"falsefalsefalse369), "id", [], "any"falsefalsefalse369) == (isset($context["parentId"]) || array_key_exists("parentId"$context) ? $context["parentId"] : (function () { throw new RuntimeError('Variable "parentId" does not exist.'369$this->source); })())))) {
  626.                 // line 370
  627.                 echo "                            ";
  628.                 $context["childCategories"] = twig_array_merge((isset($context["childCategories"]) || array_key_exists("childCategories"$context) ? $context["childCategories"] : (function () { throw new RuntimeError('Variable "childCategories" does not exist.'370$this->source); })()), [=> twig_get_attribute($this->env$this->source$context["productCategory"], "Category", [], "any"falsefalsefalse370)]);
  629.                 // line 371
  630.                 echo "                        ";
  631.             }
  632.             // line 372
  633.             echo "                    ";
  634.         }
  635.         $_parent $context['_parent'];
  636.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['productCategory'], $context['_parent'], $context['loop']);
  637.         $context array_intersect_key($context$_parent) + $_parent;
  638.         // line 373
  639.         echo "                    <div class=\"ec-productRole__title_brand\">";
  640.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["childCategories"]) || array_key_exists("childCategories"$context) ? $context["childCategories"] : (function () { throw new RuntimeError('Variable "childCategories" does not exist.'373$this->source); })()), 0, [], "array"falsefalsefalse373), "name", [], "any"falsefalsefalse373), "html"nulltrue);
  641.         echo "</div>
  642.                     ";
  643.         // line 377
  644.         echo "                    <div class=\"ec-productRole__title\">
  645.                         <h2 class=\"ec-headingTitle\">";
  646.         // line 378
  647.         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.'378$this->source); })()), "name", [], "any"falsefalsefalse378), "html"nulltrue);
  648.         echo "</h2>
  649.                         ";
  650.         // line 381
  651.         echo "                        ";
  652.         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.'381$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse381)) {
  653.             // line 382
  654.             echo "                            <div class=\"ec-headingTitle_favorite\">
  655.                             <form action=\"";
  656.             // line 383
  657.             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.'383$this->source); })()), "id", [], "any"falsefalsefalse383)]), "html"nulltrue);
  658.             echo "\" method=\"post\">
  659.                                 <div class=\"\">
  660.                                     ";
  661.             // line 385
  662.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'385$this->source); })()) == false)) {
  663.                 // line 386
  664.                 echo "                                        <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite\">
  665.                                             <?xml version=\"1.0\" encoding=\"utf-8\"?>
  666.                                             <svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
  667. <path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
  668. \tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
  669. \tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
  670. \tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
  671. </svg>
  672.                                         </button>
  673.                                     ";
  674.             } else {
  675.                 // line 396
  676.                 echo "                                        <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite ec-blockBtn--favorite_disabled\" disabled=\"disabled\">
  677.                                             <?xml version=\"1.0\" encoding=\"utf-8\"?>
  678.                                             <svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
  679. <path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
  680. \tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
  681. \tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
  682. \tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
  683. </svg>
  684.                                         </button>
  685.                                     ";
  686.             }
  687.             // line 406
  688.             echo "                                </div>
  689.                             </form>
  690.                             </div><!--/.ec-headingTitle_favorite-->
  691.                         ";
  692.         }
  693.         // line 410
  694.         echo "
  695.                     </div>
  696.                     ";
  697.         // line 414
  698.         echo "                    ";
  699.         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.'414$this->source); })()), "code_min", [], "any"falsefalsefalse414))) {
  700.             // line 415
  701.             echo "                        <div class=\"ec-productRole__code\">
  702.                             ";
  703.             // line 416
  704.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("#"), "html"nulltrue);
  705.             echo "<span class=\"product-code-default\">";
  706.             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.'416$this->source); })()), "code_min", [], "any"falsefalsefalse416), "html"nulltrue);
  707.             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.'416$this->source); })()), "code_min", [], "any"falsefalsefalse416) != 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.'416$this->source); })()), "code_max", [], "any"falsefalsefalse416))) {
  708.                 echo " ~ ";
  709.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'416$this->source); })()), "code_max", [], "any"falsefalsefalse416), "html"nulltrue);
  710.             }
  711.             echo "</span>
  712.                         </div>
  713.                     ";
  714.         }
  715.         // line 419
  716.         echo "
  717.                     ";
  718.         // line 421
  719.         echo "                    ";
  720.         // line 439
  721.         echo "
  722.                     ";
  723.         // line 441
  724.         echo "                    <div class=\"ec-productRole__price\">
  725.                         ";
  726.         // line 442
  727.         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.'442$this->source); })()), "hasProductClass", [], "any"falsefalsefalse442)) {
  728.             // line 443
  729.             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.'443$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse443) == 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.'443$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse443))) {
  730.                 // line 444
  731.                 echo "                                <div class=\"ec-price\">
  732.                                     <span class=\"ec-price__price price02-default\">";
  733.                 // line 445
  734.                 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.'445$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse445)), "html"nulltrue);
  735.                 echo "</span>
  736.                                     <span class=\"ec-price__tax\">";
  737.                 // line 446
  738.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  739.                 echo "</span>
  740.                                 </div>
  741.                             ";
  742.             } else {
  743.                 // line 449
  744.                 echo "                                <div class=\"ec-price\">
  745.                                     <span class=\"ec-price__price price02-default\">";
  746.                 // line 450
  747.                 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.'450$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse450)), "html"nulltrue);
  748.                 echo " ~ ";
  749.                 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.'450$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse450)), "html"nulltrue);
  750.                 echo "</span>
  751.                                     <span class=\"ec-price__tax\">";
  752.                 // line 451
  753.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  754.                 echo "</span>
  755.                                 </div>
  756.                             ";
  757.             }
  758.             // line 454
  759.             echo "                        ";
  760.         } else {
  761.             // line 455
  762.             echo "                            <div class=\"ec-price\">
  763.                                 <span class=\"ec-price__price\">";
  764.             // line 456
  765.             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.'456$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse456)), "html"nulltrue);
  766.             echo "</span>
  767.                                 <span class=\"ec-price__tax\">";
  768.             // line 457
  769.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  770.             echo "</span>
  771.                             </div>
  772.                         ";
  773.         }
  774.         // line 460
  775.         echo "                    </div>
  776.                     ";
  777.         // line 463
  778.         echo "                    ";
  779.         // line 480
  780.         echo "
  781.                     <form action=\"";
  782.         // line 481
  783.         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.'481$this->source); })()), "id", [], "any"falsefalsefalse481)]), "html"nulltrue);
  784.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  785.                         ";
  786.         // line 482
  787.         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.'482$this->source); })()), "stock_find", [], "any"falsefalsefalse482)) {
  788.             // line 483
  789.             echo "                            <div class=\"ec-productRole__actions\">
  790.                                 ";
  791.             // line 485
  792.             echo "                                ";
  793.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse485)) {
  794.                 // line 486
  795.                 echo "                                    <div class=\"standard_input ec-select\">
  796.                                         ";
  797.                 // line 487
  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.'487$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse487), 'row');
  799.                 echo "
  800.                                         ";
  801.                 // line 488
  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.'488$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse488), 'errors');
  803.                 echo "
  804.                                     </div>
  805.                                     ";
  806.                 // line 490
  807.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse490)) {
  808.                     // line 491
  809.                     echo "                                        <div class=\"standard_input ec-select\">
  810.                                             ";
  811.                     // line 492
  812.                     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.'492$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse492), 'row');
  813.                     echo "
  814.                                             ";
  815.                     // line 493
  816.                     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.'493$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse493), 'errors');
  817.                     echo "
  818.                                         </div><!--/.standard_input-->
  819.                                     ";
  820.                 }
  821.                 // line 496
  822.                 echo "                                ";
  823.             }
  824.             // line 497
  825.             echo "
  826.                                 ";
  827.             // line 499
  828.             echo "                                <div id=\"option_input\">
  829.                                 ";
  830.             // line 500
  831.             echo twig_include($this->env$context"Product/option.twig", array(), truetrue);
  832.             echo "
  833.                                 ";
  834.             // line 501
  835.             echo twig_include($this->env$context"Product/option_js.twig", array(), truetrue);
  836.             echo "
  837.                                 </div><!--/#option_input-->
  838.                                 ";
  839.             // line 505
  840.             echo "                                <div class=\"error_message_cart\">
  841.                                     <span>※ 未設定項目を選択してください</span>
  842.                                 </div><!--/.error_message_cart-->
  843.                                 ";
  844.             // line 526
  845.             echo "
  846.                             </div>
  847.                             ";
  848.             // line 530
  849.             echo "                            <div class=\"free_info_area\">
  850.                                 <span>250,000円<span class=\"zeikomi\">(税別)</span>以上のご購入で送料無料</span>
  851.                             </div><!--/.free_info_area-->
  852.                             <p class=\"delivery_txt\">商品のお届け先によって、お届けに制限がある場合や、配送送料のご負担が必要となる場合がございます。ご注文前に<a target=\"_blank\" class=\"bottom_info\" href=\"";
  853.             // line 535
  854.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  855.             echo "delivery\">こちら</a>よりご確認ください。</p>
  856.                             <div class=\"cart_btn_area\">
  857.                                 <div class=\"cart_btn_area__left\">
  858.                                     ";
  859.             // line 541
  860.             echo "                                    ";
  861.             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.'541$this->source); })()), "ViewData", [=> 2], "method"falsefalsefalse541))) {
  862.                 // line 542
  863.                 echo "                                    <div class=\"cart_viewdata\">
  864.                                         <span>お届け目安</span> <span class=\"num\">";
  865.                 // line 543
  866.                 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.'543$this->source); })()), "ViewData", [=> 2], "method"falsefalsefalse543), "html"nulltrue);
  867.                 echo "</span></li>
  868.                                     </div><!--/.cart_viewdata-->
  869.                                     ";
  870.             }
  871.             // line 546
  872.             echo "
  873.                                     <div class=\"ec-numberInput\">
  874.                                         ";
  875.             // line 549
  876.             echo "                                        ";
  877.             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.'549$this->source); })()), "quantity", [], "any"falsefalsefalse549), 'widget');
  878.             echo "
  879.                                         ";
  880.             // line 550
  881.             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.'550$this->source); })()), "quantity", [], "any"falsefalsefalse550), 'errors');
  882.             echo "
  883.                                     </div>
  884.                                 </div><!--/.cart_btn_area__left-->
  885.                                 <div class=\"ec-productRole__btn\">
  886.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  887.                                         ";
  888.             // line 556
  889.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  890.             echo "
  891.                                     </button>
  892.                                 </div>
  893.                             </div><!--/.cart_btn_area-->
  894.                         ";
  895.         } else {
  896.             // line 562
  897.             echo "                            <div class=\"ec-productRole__btn\">
  898.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  899.                                     ";
  900.             // line 564
  901.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  902.             echo "
  903.                                 </button>
  904.                             </div>
  905.                         ";
  906.         }
  907.         // line 568
  908.         echo "
  909.                         ";
  910.         // line 569
  911.         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.'569$this->source); })()), 'rest');
  912.         echo "
  913.                     </form>
  914.                     <ul class=\"cart_btn_bottom_info\">
  915.                         <li><a class=\"bottom_info\" href=\"";
  916.         // line 573
  917.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  918.         echo "guide#target_02\">ご注文方法について</a></li>
  919.                         <li><a class=\"bottom_info\" href=\"";
  920.         // line 574
  921.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  922.         echo "contact\">お問い合わせはこちら</a></li>
  923.                     </ul>
  924.                     ";
  925.         // line 578
  926.         echo "                    ";
  927.         $context["page_url"] = (($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage") . "products/detail/") . 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.'578$this->source); })()), "id", [], "any"falsefalsefalse578));
  928.         // line 579
  929.         echo "                    ";
  930.         $context["image_url"] = ("https://online.ikus.furniture" $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'579$this->source); })()), "ProductImage", [], "any"falsefalsefalse579), 0, [], "array"falsefalsefalse579), "save_image"));
  931.         // line 580
  932.         echo "
  933.                     <ul class=\"cart_btn_bottom_sns\">
  934.                         <li>
  935.                             <a class=\"pinterest\" href=\"https://www.pinterest.com/pin/create/button/?url=";
  936.         // line 583
  937.         echo twig_escape_filter($this->envtwig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url"$context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.'583$this->source); })())), "html"nulltrue);
  938.         echo "&media=";
  939.         echo twig_escape_filter($this->env, (isset($context["image_url"]) || array_key_exists("image_url"$context) ? $context["image_url"] : (function () { throw new RuntimeError('Variable "image_url" does not exist.'583$this->source); })()), "html"nulltrue);
  940.         echo "\" target=\"_blank\">
  941.                                 <img src=\"";
  942.         // line 584
  943.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_pinterest.svg"), "html"nulltrue);
  944.         echo "\">
  945.                             </a>
  946.                         </li>
  947.                         <li>
  948.                             <a class=\"line\" href=\"https://social-plugins.line.me/lineit/share?url=";
  949.         // line 588
  950.         echo twig_escape_filter($this->envtwig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url"$context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.'588$this->source); })())), "html"nulltrue);
  951.         echo "\" target=\"_blank\">
  952.                                 <img src=\"";
  953.         // line 589
  954.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_line.svg"), "html"nulltrue);
  955.         echo "\">
  956.                             </a>
  957.                         </li>
  958.                         <li>
  959.                             <a class=\"twitter\" href=\"https://twitter.com/intent/tweet?url=";
  960.         // line 593
  961.         echo twig_escape_filter($this->envtwig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url"$context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.'593$this->source); })())), "html"nulltrue);
  962.         echo "\" target=\"_blank\">
  963.                                 <img src=\"";
  964.         // line 594
  965.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_twitter.svg"), "html"nulltrue);
  966.         echo "\">
  967.                             </a>
  968.                         </li>
  969.                         <li>
  970.                             <a class=\"facebook\" href=\"https://www.facebook.com/sharer/sharer.php?u=";
  971.         // line 598
  972.         echo twig_escape_filter($this->envtwig_urlencode_filter((isset($context["page_url"]) || array_key_exists("page_url"$context) ? $context["page_url"] : (function () { throw new RuntimeError('Variable "page_url" does not exist.'598$this->source); })())), "html"nulltrue);
  973.         echo "\" target=\"_blank\">
  974.                                 <img src=\"";
  975.         // line 599
  976.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/common/icon_facebook.svg"), "html"nulltrue);
  977.         echo "\">
  978.                             </a>
  979.                         </li>
  980.                     </ul>
  981.                     ";
  982.         // line 605
  983.         echo twig_include($this->env$context"Product/option_description.twig");
  984.         echo "<div class=\"ec-modal\">
  985.                         <div class=\"ec-modal-overlay\">
  986.                             <div class=\"ec-modal-wrap\">
  987.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  988.         // line 608
  989.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  990.         echo "\" alt=\"\"/></span></span>
  991.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  992.         // line 609
  993.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  994.         echo "</div>
  995.                                 <div class=\"ec-modal-box\">
  996.                                     <div class=\"ec-role\">
  997.                                         <span class=\"ec-inlineBtn--cancel\">";
  998.         // line 612
  999.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  1000.         echo "</span>
  1001.                                         <a href=\"";
  1002.         // line 613
  1003.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  1004.         echo "\" class=\"ec-inlineBtn--action\">";
  1005.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  1006.         echo "</a>
  1007.                                     </div>
  1008.                                 </div>
  1009.                             </div>
  1010.                         </div>
  1011.                     </div>
  1012.                 </div>
  1013.             </div>
  1014.         </div>
  1015.     </div>
  1016. <section id=\"product_free_bottom\">
  1017.     <div class=\"product_title__inner\">
  1018.         <h2 class=\"product_ja_title\">詳細情報</h2>
  1019.     </div><!--/.home_title__inner-->
  1020.     <div class=\"product_free_bottom__inner\">
  1021.         ";
  1022.         // line 631
  1023.         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.'631$this->source); })()), "description_detail", [], "any"falsefalsefalse631));
  1024.         echo "
  1025.     </div>
  1026. </section><!--/#product_free_bottom-->
  1027. ";
  1028.         // line 636
  1029.         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.'636$this->source); })()), "ViewData", [=> 4], "method"falsefalsefalse636))) {
  1030.             // line 637
  1031.             echo "    <section id=\"product_free_bottom\">
  1032.         <div class=\"product_title__inner\">
  1033.             <h2 class=\"product_ja_title\">特記事項</h2>
  1034.         </div><!--/.home_title__inner-->
  1035.         <div class=\"product_free_bottom__inner\">
  1036.             ";
  1037.             // line 642
  1038.             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.'642$this->source); })()), "ViewData", [=> 4], "method"falsefalsefalse642));
  1039.             echo "
  1040.         </div>
  1041.     </section><!--/#product_free_bottom-->
  1042. ";
  1043.         }
  1044.         // line 646
  1045.         echo "
  1046.     ";
  1047.         // line 648
  1048.         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.'648$this->source); })()), "freearea", [], "any"falsefalsefalse648)) {
  1049.             // line 649
  1050.             echo "        ";
  1051.             // line 660
  1052.             echo "    ";
  1053.         }
  1054.         // line 661
  1055.         echo "
  1056.     ";
  1057.         // line 664
  1058.         echo "    ";
  1059.         echo twig_include($this->env$context"ProductReview42/Resource/template/default/review.twig");
  1060.         echo "
  1061. <div class=\"ec-layoutRole__contents\">
  1062. ";
  1063.         
  1064.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  1065.         
  1066.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  1067.     }
  1068.     public function getTemplateName()
  1069.     {
  1070.         return "__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42";
  1071.     }
  1072.     public function isTraitable()
  1073.     {
  1074.         return false;
  1075.     }
  1076.     public function getDebugInfo()
  1077.     {
  1078.         return array (  1138 => 664,  1134 => 661,  1131 => 660,  1129 => 649,  1127 => 648,  1123 => 646,  1116 => 642,  1109 => 637,  1107 => 636,  1100 => 631,  1077 => 613,  1073 => 612,  1067 => 609,  1063 => 608,  1057 => 605,  1048 => 599,  1044 => 598,  1037 => 594,  1033 => 593,  1026 => 589,  1022 => 588,  1015 => 584,  1009 => 583,  1004 => 580,  1001 => 579,  998 => 578,  992 => 574,  988 => 573,  981 => 569,  978 => 568,  971 => 564,  967 => 562,  958 => 556,  949 => 550,  944 => 549,  940 => 546,  934 => 543,  931 => 542,  928 => 541,  920 => 535,  913 => 530,  908 => 526,  902 => 505,  896 => 501,  892 => 500,  889 => 499,  886 => 497,  883 => 496,  877 => 493,  873 => 492,  870 => 491,  868 => 490,  863 => 488,  859 => 487,  856 => 486,  853 => 485,  850 => 483,  848 => 482,  844 => 481,  841 => 480,  839 => 463,  835 => 460,  829 => 457,  825 => 456,  822 => 455,  819 => 454,  813 => 451,  807 => 450,  804 => 449,  798 => 446,  794 => 445,  791 => 444,  789 => 443,  787 => 442,  784 => 441,  781 => 439,  779 => 421,  776 => 419,  764 => 416,  761 => 415,  758 => 414,  753 => 410,  747 => 406,  735 => 396,  723 => 386,  721 => 385,  716 => 383,  713 => 382,  710 => 381,  705 => 378,  702 => 377,  695 => 373,  689 => 372,  686 => 371,  683 => 370,  680 => 369,  675 => 368,  673 => 367,  670 => 366,  667 => 365,  664 => 363,  662 => 354,  656 => 349,  653 => 348,  644 => 346,  639 => 345,  636 => 344,  633 => 343,  630 => 341,  622 => 334,  603 => 332,  586 => 331,  577 => 324,  566 => 322,  544 => 320,  526 => 319,  518 => 313,  508 => 312,  492 => 304,  488 => 303,  484 => 302,  480 => 301,  476 => 299,  470 => 297,  468 => 296,  463 => 295,  460 => 294,  450 => 292,  436 => 290,  428 => 289,  410 => 288,  405 => 286,  382 => 266,  372 => 259,  342 => 232,  337 => 229,  328 => 223,  324 => 221,  322 => 220,  319 => 219,  310 => 213,  306 => 211,  304 => 210,  207 => 115,  199 => 113,  197 => 112,  192 => 110,  189 => 109,  187 => 108,  173 => 97,  170 => 96,  160 => 95,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  1079.     }
  1080.     public function getSourceContext()
  1081.     {
  1082.         return new Source("{#
  1083. This file is part of EC-CUBE
  1084. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1085. http://www.ec-cube.co.jp/
  1086. For the full copyright and license information, please view the LICENSE
  1087. file that was distributed with this source code.
  1088. #}
  1089. {% extends 'fullwidth_frame.twig' %}
  1090. {% set body_class = 'product_page' %}
  1091. {% block stylesheet %}
  1092.     <style>
  1093.         .slick-slider {
  1094.             margin-bottom: 30px;
  1095.         }
  1096.         .slick-dots {
  1097.             position: absolute;
  1098.             bottom: -45px;
  1099.             display: block;
  1100.             width: 100%;
  1101.             padding: 0;
  1102.             list-style: none;
  1103.             text-align: center;
  1104.         }
  1105.         .slick-dots li {
  1106.             position: relative;
  1107.             display: inline-block;
  1108.             width: 20px;
  1109.             height: 20px;
  1110.             margin: 0 5px;
  1111.             padding: 0;
  1112.             cursor: pointer;
  1113.         }
  1114.         .slick-dots li button {
  1115.             font-size: 0;
  1116.             line-height: 0;
  1117.             display: block;
  1118.             width: 20px;
  1119.             height: 20px;
  1120.             padding: 5px;
  1121.             cursor: pointer;
  1122.             color: transparent;
  1123.             border: 0;
  1124.             outline: none;
  1125.             background: transparent;
  1126.         }
  1127.         .slick-dots li button:hover,
  1128.         .slick-dots li button:focus {
  1129.             outline: none;
  1130.         }
  1131.         .slick-dots li button:hover:before,
  1132.         .slick-dots li button:focus:before {
  1133.             opacity: 1;
  1134.         }
  1135.         .slick-dots li button:before {
  1136.             content: \" \";
  1137.             line-height: 20px;
  1138.             position: absolute;
  1139.             top: 0;
  1140.             left: 0;
  1141.             width: 12px;
  1142.             height: 12px;
  1143.             text-align: center;
  1144.             opacity: .25;
  1145.             background-color: black;
  1146.             border-radius: 50%;
  1147.         }
  1148.         .slick-dots li.slick-active button:before {
  1149.             opacity: .75;
  1150.             background-color: black;
  1151.         }
  1152.         .slick-dots li button.thumbnail img {
  1153.             width: 0;
  1154.             height: 0;
  1155.         }
  1156.     </style>
  1157. {% endblock %}
  1158. {% block javascript %}
  1159.     <script>
  1160.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1161.         // 規格2に選択肢を割り当てる。
  1162.         function fnSetClassCategories(form, classcat_id2_selected) {
  1163.             var \$form = \$(form);
  1164.             var product_id = \$form.find('input[name=product_id]').val();
  1165.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1166.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1167.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  1168.         }
  1169.         {% if form.classcategory_id2 is defined %}
  1170.         fnSetClassCategories(
  1171.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  1172.         );
  1173.         {% elseif form.classcategory_id1 is defined %}
  1174.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  1175.         {% endif %}
  1176.     </script>
  1177.     <script>
  1178.         \$(function() {
  1179.             // bfcache無効化
  1180.             \$(window).bind('pageshow', function(event) {
  1181.                 if (event.originalEvent.persisted) {
  1182.                     location.reload(true);
  1183.                 }
  1184.             });
  1185.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  1186.             // img タグに width, height が付与されている.
  1187.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  1188.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  1189.             \$('.ec-grid2__cell').hide();
  1190.             var removeSize = function () {
  1191.                 \$('.slide-item').height('');
  1192.                 \$('.slide-item img')
  1193.                     .removeAttr('width')
  1194.                     .removeAttr('height')
  1195.                     .removeAttr('style');
  1196.             };
  1197.             var slickInitial = function(slick) {
  1198.                 \$('.ec-grid2__cell').fadeIn(1500);
  1199.                 var baseHeight = \$(slick.target).height();
  1200.                 var baseWidth = \$(slick.target).width();
  1201.                 var rate = baseWidth / baseHeight;
  1202.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  1203.                 // transform を使用することでCLSの影響を受けないようにする
  1204.                 \$('.slide-item img')
  1205.                     .css(
  1206.                         {
  1207.                             'transform-origin': 'top left',
  1208.                             'transform': 'scaleY(' + rate + ')',
  1209.                             'transition': 'transform .1s'
  1210.                         }
  1211.                     );
  1212.                 // 正しいサイズに近くなったら属性を解除する
  1213.                 setTimeout(removeSize, 500);
  1214.             };
  1215.             \$('.item_visual').on('init', slickInitial);
  1216.             \$('.item_visual').on('init beforeChange', function(event, slick, currentSlide){
  1217.                 var i = (currentSlide ? currentSlide : 0) + 1;
  1218.                 var progress = (i / slick.slideCount) * 100;
  1219.                 \$('.progress-bar').css('width', progress + '%');
  1220.             });
  1221.             // リサイズ時は CLS の影響を受けないため属性を解除する
  1222.             \$(window).resize(removeSize);
  1223.             \$('.item_visual').slick({
  1224.                 dots: false,
  1225.                 arrows: true,
  1226.                 responsive: [{
  1227.                     breakpoint: 768,
  1228.                     settings: {
  1229.                         dots: true
  1230.                     }
  1231.                 }]
  1232.             });
  1233.             \$('.slideThumb').on('click', function() {
  1234.                 var index = \$(this).attr('data-index');
  1235.                 \$('.item_visual').slick('slickGoTo', index, false);
  1236.             })
  1237.         });
  1238.     </script>
  1239.     <script>
  1240.         \$(function() {
  1241.             \$('.add-cart').on('click', function(event) {
  1242.                 //オプションの必須チェック
  1243.                 // choice_display_area要素を取得
  1244.                 var \$choiceDisplayAreas = \$('.choice_display_area');
  1245.                 // 全ての要素がdata-select-resultがtrueかどうかチェックする関数
  1246.                 function allDataSelectResultTrue() {
  1247.                   var allTrue = true;
  1248.                   \$choiceDisplayAreas.each(function() {
  1249.                     if (\$(this).attr('data-select-result') !== 'true') {
  1250.                       allTrue = false;
  1251.                       return false; // eachループを抜ける
  1252.                     }
  1253.                   });
  1254.                   return allTrue;
  1255.                 }
  1256.                 // 全ての要素がdata-select-resultがtrueでなければ.error_message_cartを表示し、クリックイベントを中止
  1257.                 if (!allDataSelectResultTrue()) {
  1258.                   \$('.error_message_cart').show();
  1259.                   event.preventDefault(); // クリックイベントを中止
  1260.                   event.stopImmediatePropagation(); // 他のイベントハンドラーに影響を与えないようにする
  1261.                   return;
  1262.                 }
  1263.                 {% if form.classcategory_id1 is defined %}
  1264.                 // 規格1フォームの必須チェック
  1265.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  1266.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1267.                     return true;
  1268.                 } else {
  1269.                     \$('#classcategory_id1')[0].setCustomValidity('');
  1270.                 }
  1271.                 {% endif %}
  1272.                 {% if form.classcategory_id2 is defined %}
  1273.                 // 規格2フォームの必須チェック
  1274.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  1275.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1276.                     return true;
  1277.                 } else {
  1278.                     \$('#classcategory_id2')[0].setCustomValidity('');
  1279.                 }
  1280.                 {% endif %}
  1281.                 // 個数フォームのチェック
  1282.                 if (\$('#quantity').val() < 1) {
  1283.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1284.                     return true;
  1285.                 } else {
  1286.                     \$('#quantity')[0].setCustomValidity('');
  1287.                 }
  1288.                 event.preventDefault();
  1289.                 \$form = \$('#form1');
  1290.                 \$.ajax({
  1291.                     url: \$form.attr('action'),
  1292.                     type: \$form.attr('method'),
  1293.                     data: \$form.serialize(),
  1294.                     dataType: 'json',
  1295.                     beforeSend: function(xhr, settings) {
  1296.                         // Buttonを無効にする
  1297.                         \$('.add-cart').prop('disabled', true);
  1298.                     }
  1299.                 }).done(function(data) {
  1300.                     // レスポンス内のメッセージをalertで表示
  1301.                     \$.each(data.messages, function() {
  1302.                         \$('#ec-modal-header').text(this);
  1303.                     });
  1304.                     \$('.ec-modal').show()
  1305.                     // カートブロックを更新する
  1306.                     \$.ajax({
  1307.                         url: \"{{ url('block_cart') }}\",
  1308.                         type: 'GET',
  1309.                         dataType: 'html'
  1310.                     }).done(function(html) {
  1311.                         \$('.ec-headerRole__cart').html(html);
  1312.                     });
  1313.                 }).fail(function(data) {
  1314.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1315.                 }).always(function(data) {
  1316.                     // Buttonを有効にする
  1317.                     \$('.add-cart').prop('disabled', false);
  1318.                 });
  1319.             });
  1320.         });
  1321.         \$('.ec-modal-wrap').on('click', function(e) {
  1322.             // モーダル内の処理は外側にバブリングさせない
  1323.             e.stopPropagation();
  1324.         });
  1325.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  1326.             \$('.ec-modal').hide()
  1327.         });
  1328.     </script>
  1329.     <script type=\"application/ld+json\">
  1330.     {
  1331.         \"@context\": \"https://schema.org/\",
  1332.         \"@type\": \"Product\",
  1333.         \"name\": \"{{ Product.name }}\",
  1334.         \"image\": [
  1335.             {% for img in Product.ProductImage %}
  1336.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  1337.             {% else %}
  1338.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  1339.             {% endfor %}
  1340.         ],
  1341.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  1342.         {% if Product.code_min %}
  1343.         \"sku\": \"{{ Product.code_min }}\",
  1344.         {% endif %}
  1345.         \"offers\": {
  1346.             \"@type\": \"Offer\",
  1347.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  1348.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  1349.             \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  1350.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\",
  1351.             \"optionPrice\": 0
  1352.         }
  1353.     }
  1354.     </script>
  1355. {% endblock %}
  1356. {% block main %}
  1357.     <div class=\"ec-productRole\">
  1358.         <div class=\"ec-grid2\">
  1359.             <div class=\"ec-grid2__cell\">
  1360.                 <div class=\"ec-sliderItemRole\">
  1361.                     <div class=\"item_visual\">
  1362.                         {% for ProductImage in Product.ProductImage %}
  1363.                             <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>
  1364.                         {% else %}
  1365.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
  1366.                         {% endfor %}
  1367.                     </div>
  1368.                     <div class=\"progress\">
  1369.                         <div class=\"progress-bar\"></div>
  1370.                     </div>
  1371.                     <div class=\"item_nav\">
  1372.                         {% for ProductImage in Product.ProductImage %}
  1373.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  1374.                         {% endfor %}
  1375.                     </div>
  1376.                 </div>
  1377.             </div>
  1378.             <div class=\"ec-grid2__cell\">
  1379.                 <div class=\"ec-productRole__profile\">
  1380.                     {# 表示項目追加 #}
  1381.                     <ul class=\"ec-productRole__tags\">
  1382.                         {# ソファの場合 配列の処理が必要 #}
  1383.                         {% if Product.ViewData(1) is not empty %}
  1384.                             {% set view_data_icons = Product.ViewData(1)|reverse %}
  1385.                             {% for view_data_icon in view_data_icons %}
  1386.                                 <li class=\"ec-productRole__tag\">{{ view_data_icon }}</li>
  1387.                             {% endfor %}
  1388.                         {% endif %}
  1389.                     </ul>
  1390.                     {# タグ #}
  1391.                     {#
  1392.                     {% if Product.Tags is not empty %}
  1393.                     <ul class=\"ec-productRole__tags\">
  1394.                         {% for Tag in Product.Tags %}
  1395.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  1396.                         {% endfor %}
  1397.                     </ul>
  1398.                     {% endif %}
  1399.                     #}
  1400.                     {# ブランド名 #}
  1401.                     {% set parentId = 34 %}
  1402.                     {% set childCategories = [] %}
  1403.                     {# 商品が所属しているカテゴリをチェックし、ID:34の子カテゴリを探す #}
  1404.                     {% for productCategory in Product.ProductCategories %}
  1405.                         {% if productCategory.Category.Parent and productCategory.Category.Parent.id == parentId %}
  1406.                             {% set childCategories = childCategories|merge([productCategory.Category]) %}
  1407.                         {% endif %}
  1408.                     {% endfor %}
  1409.                     <div class=\"ec-productRole__title_brand\">{{ childCategories[0].name }}</div>
  1410.                     {# 商品名 #}
  1411.                     <div class=\"ec-productRole__title\">
  1412.                         <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  1413.                         {# お気に入り追加 #}
  1414.                         {% if BaseInfo.option_favorite_product %}
  1415.                             <div class=\"ec-headingTitle_favorite\">
  1416.                             <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1417.                                 <div class=\"\">
  1418.                                     {% if is_favorite == false %}
  1419.                                         <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite\">
  1420.                                             <?xml version=\"1.0\" encoding=\"utf-8\"?>
  1421.                                             <svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
  1422. <path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
  1423. \tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
  1424. \tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
  1425. \tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
  1426. </svg>
  1427.                                         </button>
  1428.                                     {% else %}
  1429.                                         <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--favorite ec-blockBtn--favorite_disabled\" disabled=\"disabled\">
  1430.                                             <?xml version=\"1.0\" encoding=\"utf-8\"?>
  1431.                                             <svg version=\"1.1\" id=\"レイヤー_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 20.8 19.2\" style=\"enable-background:new 0 0 20.8 19.2;\" xml:space=\"preserve\">
  1432. <path d=\"M15.2,0.3c-1.8,0-3.6,0.9-4.8,2.4C9.3,1.2,7.5,0.3,5.6,0.3c-2.7,0-5.5,1.9-5.5,5.5c0,3.7,4.1,7.6,8.9,12.2l0.5,0.5
  1433. \tc0.3,0.3,0.5,0.4,0.9,0.4s0.6-0.1,0.9-0.4l0.5-0.5c4.8-4.6,8.9-8.5,8.9-12.2C20.7,2.1,17.9,0.3,15.2,0.3z M18.7,5.7
  1434. \tc0,2.6-3.1,5.8-8.3,10.8C5.3,11.5,2.2,8.4,2.2,5.7c0-1,0.4-2,1-2.5c0.6-0.6,1.4-0.9,2.4-0.9c1.8,0,3,1.3,4,2.6
  1435. \tc0.2,0.3,0.6,0.4,0.8,0.4s0.7-0.1,0.8-0.4c1-1.3,2.2-2.6,4-2.6C16.9,2.3,18.7,3.3,18.7,5.7z\"/>
  1436. </svg>
  1437.                                         </button>
  1438.                                     {% endif %}
  1439.                                 </div>
  1440.                             </form>
  1441.                             </div><!--/.ec-headingTitle_favorite-->
  1442.                         {% endif %}
  1443.                     </div>
  1444.                     {# 商品コード #}
  1445.                     {% if Product.code_min is not empty %}
  1446.                         <div class=\"ec-productRole__code\">
  1447.                             {{ '#'|trans }}<span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1448.                         </div>
  1449.                     {% endif %}
  1450.                     {# 通常価格 #}
  1451.                     {#
  1452.                     {% if Product.hasProductClass -%}
  1453.                         <div class=\"ec-productRole__priceRegular\">
  1454.                             {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  1455.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
  1456.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1457.                             {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  1458.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
  1459.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1460.                             {% endif %}
  1461.                         </div>
  1462.                     {% else %}
  1463.                         {% if Product.getPrice01Max is not null %}
  1464.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  1465.                             <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1466.                         {% endif %}
  1467.                     {% endif %}
  1468.                     #}
  1469.                     {# 販売価格 #}
  1470.                     <div class=\"ec-productRole__price\">
  1471.                         {% if Product.hasProductClass -%}
  1472.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1473.                                 <div class=\"ec-price\">
  1474.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1475.                                     <span class=\"ec-price__tax\">{{ '(税込)'|trans }}</span>
  1476.                                 </div>
  1477.                             {% else %}
  1478.                                 <div class=\"ec-price\">
  1479.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1480.                                     <span class=\"ec-price__tax\">{{ '(税込)'|trans }}</span>
  1481.                                 </div>
  1482.                             {% endif %}
  1483.                         {% else %}
  1484.                             <div class=\"ec-price\">
  1485.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1486.                                 <span class=\"ec-price__tax\">{{ '(税込)'|trans }}</span>
  1487.                             </div>
  1488.                         {% endif %}
  1489.                     </div>
  1490.                     {# 関連カテゴリ #}
  1491.                     {#
  1492.                     {% if Product.ProductCategories is not empty %}
  1493.                         <div class=\"ec-productRole__category\">
  1494.                             <div>{{ '関連カテゴリ'|trans }}</div>
  1495.                             {% for ProductCategory in Product.ProductCategories %}
  1496.                                 <ul>
  1497.                                     <li>
  1498.                                         {% for Category in ProductCategory.Category.path %}
  1499.                                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  1500.                                             <span>></span>{% endif -%}
  1501.                                         {% endfor %}
  1502.                                     </li>
  1503.                                 </ul>
  1504.                             {% endfor %}
  1505.                         </div>
  1506.                     {% endif %}
  1507.                     #}
  1508.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1509.                         {% if Product.stock_find %}
  1510.                             <div class=\"ec-productRole__actions\">
  1511.                                 {# 規格選択 #}
  1512.                                 {% if form.classcategory_id1 is defined %}
  1513.                                     <div class=\"standard_input ec-select\">
  1514.                                         {{ form_row(form.classcategory_id1) }}
  1515.                                         {{ form_errors(form.classcategory_id1) }}
  1516.                                     </div>
  1517.                                     {% if form.classcategory_id2 is defined %}
  1518.                                         <div class=\"standard_input ec-select\">
  1519.                                             {{ form_row(form.classcategory_id2) }}
  1520.                                             {{ form_errors(form.classcategory_id2) }}
  1521.                                         </div><!--/.standard_input-->
  1522.                                     {% endif %}
  1523.                                 {% endif %}
  1524.                                 {# オプション表示 #}
  1525.                                 <div id=\"option_input\">
  1526.                                 {{ include('Product/option.twig', ignore_missing=true) }}
  1527.                                 {{ include('Product/option_js.twig', ignore_missing=true) }}
  1528.                                 </div><!--/#option_input-->
  1529.                                 {# エラーメッセージ表示 #}
  1530.                                 <div class=\"error_message_cart\">
  1531.                                     <span>※ 未設定項目を選択してください</span>
  1532.                                 </div><!--/.error_message_cart-->
  1533.                                 {# 配送
  1534.                                 {% if Product.ViewData(3) is not empty %}
  1535.                                 <div class=\"delivery_info\">
  1536.                                     <span class=\"delivery_info_ttl\">配送方法</span>
  1537.                                     <div class=\"delivery_info__right\">
  1538.                                         <div class=\"delivery_info__right__top\">
  1539.                                                 <span class=\"delivery_info__icon\">{{ Product.ViewData(3) }}</span> <a class=\"delivery_link\" href=\"{{ url('homepage') }}help/agreement#target_delivery\">配送について</a>
  1540.                                         </div><!--/.delivery_info__right__top-->
  1541.                                         {% if Product.ViewData(3) == '開梱・設置配送' %}
  1542.                                         <br>
  1543.                                         <p class=\"notes_txt\">室内へ搬入・設置し梱包材をお持ち帰りいたします。必要に応じて商品の組立ても含みます。</p>
  1544.                                         {% endif %}
  1545.                                     </div><!--/.delivery_info__right-->
  1546.                                 </div><!--/.delivery_info-->
  1547.                                 {% endif %}
  1548.                                 #}
  1549.                             </div>
  1550.                             {# 送料無料条件を表示 #}
  1551.                             <div class=\"free_info_area\">
  1552.                                 <span>250,000円<span class=\"zeikomi\">(税別)</span>以上のご購入で送料無料</span>
  1553.                             </div><!--/.free_info_area-->
  1554.                             <p class=\"delivery_txt\">商品のお届け先によって、お届けに制限がある場合や、配送送料のご負担が必要となる場合がございます。ご注文前に<a target=\"_blank\" class=\"bottom_info\" href=\"{{ url('homepage') }}delivery\">こちら</a>よりご確認ください。</p>
  1555.                             <div class=\"cart_btn_area\">
  1556.                                 <div class=\"cart_btn_area__left\">
  1557.                                     {# お届け日数目安 #}
  1558.                                     {% if Product.ViewData(2) is not empty %}
  1559.                                     <div class=\"cart_viewdata\">
  1560.                                         <span>お届け目安</span> <span class=\"num\">{{ Product.ViewData(2) }}</span></li>
  1561.                                     </div><!--/.cart_viewdata-->
  1562.                                     {% endif %}
  1563.                                     <div class=\"ec-numberInput\">
  1564.                                         {#<span>{{ '数量'|trans }}</span>#}
  1565.                                         {{ form_widget(form.quantity) }}
  1566.                                         {{ form_errors(form.quantity) }}
  1567.                                     </div>
  1568.                                 </div><!--/.cart_btn_area__left-->
  1569.                                 <div class=\"ec-productRole__btn\">
  1570.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1571.                                         {{ 'カートに入れる'|trans }}
  1572.                                     </button>
  1573.                                 </div>
  1574.                             </div><!--/.cart_btn_area-->
  1575.                         {% else %}
  1576.                             <div class=\"ec-productRole__btn\">
  1577.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1578.                                     {{ 'ただいま品切れ中です。'|trans }}
  1579.                                 </button>
  1580.                             </div>
  1581.                         {% endif %}
  1582.                         {{ form_rest(form) }}
  1583.                     </form>
  1584.                     <ul class=\"cart_btn_bottom_info\">
  1585.                         <li><a class=\"bottom_info\" href=\"{{ url('homepage') }}guide#target_02\">ご注文方法について</a></li>
  1586.                         <li><a class=\"bottom_info\" href=\"{{ url('homepage') }}contact\">お問い合わせはこちら</a></li>
  1587.                     </ul>
  1588.                     {# SNSシェア #}
  1589.                     {% set page_url = url('homepage') ~ 'products/detail/' ~ Product.id %}
  1590.                     {% set image_url = 'https://online.ikus.furniture' ~ asset(Product.ProductImage[0], 'save_image') %}
  1591.                     <ul class=\"cart_btn_bottom_sns\">
  1592.                         <li>
  1593.                             <a class=\"pinterest\" href=\"https://www.pinterest.com/pin/create/button/?url={{ page_url|url_encode }}&media={{ image_url }}\" target=\"_blank\">
  1594.                                 <img src=\"{{ asset('assets/img/common/icon_pinterest.svg') }}\">
  1595.                             </a>
  1596.                         </li>
  1597.                         <li>
  1598.                             <a class=\"line\" href=\"https://social-plugins.line.me/lineit/share?url={{ page_url|url_encode }}\" target=\"_blank\">
  1599.                                 <img src=\"{{ asset('assets/img/common/icon_line.svg') }}\">
  1600.                             </a>
  1601.                         </li>
  1602.                         <li>
  1603.                             <a class=\"twitter\" href=\"https://twitter.com/intent/tweet?url={{ page_url|url_encode }}\" target=\"_blank\">
  1604.                                 <img src=\"{{ asset('assets/img/common/icon_twitter.svg') }}\">
  1605.                             </a>
  1606.                         </li>
  1607.                         <li>
  1608.                             <a class=\"facebook\" href=\"https://www.facebook.com/sharer/sharer.php?u={{ page_url|url_encode }}\" target=\"_blank\">
  1609.                                 <img src=\"{{ asset('assets/img/common/icon_facebook.svg') }}\">
  1610.                             </a>
  1611.                         </li>
  1612.                     </ul>
  1613.                     {{ include('Product/option_description.twig') }}<div class=\"ec-modal\">
  1614.                         <div class=\"ec-modal-overlay\">
  1615.                             <div class=\"ec-modal-wrap\">
  1616.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1617.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1618.                                 <div class=\"ec-modal-box\">
  1619.                                     <div class=\"ec-role\">
  1620.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1621.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1622.                                     </div>
  1623.                                 </div>
  1624.                             </div>
  1625.                         </div>
  1626.                     </div>
  1627.                 </div>
  1628.             </div>
  1629.         </div>
  1630.     </div>
  1631. <section id=\"product_free_bottom\">
  1632.     <div class=\"product_title__inner\">
  1633.         <h2 class=\"product_ja_title\">詳細情報</h2>
  1634.     </div><!--/.home_title__inner-->
  1635.     <div class=\"product_free_bottom__inner\">
  1636.         {{ Product.description_detail|raw|nl2br }}
  1637.     </div>
  1638. </section><!--/#product_free_bottom-->
  1639. {# 特記事項 #}
  1640. {% if Product.ViewData(4) is not empty %}
  1641.     <section id=\"product_free_bottom\">
  1642.         <div class=\"product_title__inner\">
  1643.             <h2 class=\"product_ja_title\">特記事項</h2>
  1644.         </div><!--/.home_title__inner-->
  1645.         <div class=\"product_free_bottom__inner\">
  1646.             {{ Product.ViewData(4)|raw|nl2br }}
  1647.         </div>
  1648.     </section><!--/#product_free_bottom-->
  1649. {% endif %}
  1650.     {% if Product.freearea %}
  1651.         {#
  1652.     <section id=\"product_free_bottom\">
  1653.         <div class=\"product_title__inner\">
  1654.             <h2 class=\"product_ja_title\">詳細情報</h2>
  1655.         </div><!--/.home_title__inner-->
  1656.         <div class=\"product_free_bottom__inner\">
  1657.             {{ include(template_from_string(Product.freearea)) }}
  1658.         </div>
  1659.     </section><!--/#product_free_bottom-->
  1660.         #}
  1661.     {% endif %}
  1662.     {# レビュー表示 #}
  1663.     {{ include('ProductReview42/Resource/template/default/review.twig') }}
  1664. <div class=\"ec-layoutRole__contents\">
  1665. {% endblock %}
  1666. ""__string_template__8192e299872a209aeb8b9fd3561e507b38b045984c75da6be4c941e2b6b8fc42""");
  1667.     }
  1668. }