var/cache/dev/twig/e0/e0acf7d8481ef262fe359583e2b3471c31f4679a95af5b1b70176ae1611203d6.php line 40

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Product/detail.twig */
  14. class __TwigTemplate_41067517f72fd85c02bb2250327aa1cee1f3b40ca7258989d9aa7f940f220fd6 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 11
  31.         return "default_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  40.         // line 13
  41.         $context["body_class"] = "product_page product_detail";
  42.         // line 11
  43.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"11);
  44.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  47.         
  48.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "    <style>
  60.       .item_nav_num{
  61.         text-align: center;
  62.       }
  63.       @media (min-width:768px){
  64.         .item_nav_num{
  65.           display: none;
  66.         }
  67.       }
  68.     </style>
  69. ";
  70.         
  71.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  72.         
  73.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  74.     }
  75.     // line 28
  76.     public function block_javascript($context, array $blocks = [])
  77.     {
  78.         $macros $this->macros;
  79.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  80.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  81.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  82.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  83.         // line 29
  84.         echo "    <script>
  85.         eccube.classCategories = ";
  86.         // line 30
  87.         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.'30$this->source); })()));
  88.         echo ";
  89.         // 規格2に選択肢を割り当てる。
  90.         function fnSetClassCategories(form, classcat_id2_selected) {
  91.             var \$form = \$(form);
  92.             var product_id = \$form.find('input[name=product_id]').val();
  93.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  94.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  95.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  96.         }
  97.         ";
  98.         // line 41
  99.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse41)) {
  100.             // line 42
  101.             echo "        fnSetClassCategories(
  102.             \$('#form1'), ";
  103.             // line 43
  104.             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.'43$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse43), "vars", [], "any"falsefalsefalse43), "value", [], "any"falsefalsefalse43));
  105.             echo "
  106.         );
  107.         ";
  108.         } elseif (twig_get_attribute($this->env$this->source,         // line 45
  109. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse45)) {
  110.             // line 46
  111.             echo "        eccube.checkStock(\$('#form1'), ";
  112.             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.'46$this->source); })()), "id", [], "any"falsefalsefalse46), "html"nulltrue);
  113.             echo ", ";
  114.             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.'46$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse46), "vars", [], "any"falsefalsefalse46), "value", [], "any"falsefalsefalse46));
  115.             echo ", null);
  116.         ";
  117.         }
  118.         // line 48
  119.         echo "    </script>
  120.     <script>
  121.         \$(function() {
  122.             // bfcache無効化
  123.             \$(window).bind('pageshow', function(event) {
  124.                 if (event.originalEvent.persisted) {
  125.                     location.reload(true);
  126.                 }
  127.             });
  128.             \$('.item_visual').slick({
  129.                 dots: false,
  130.                 arrows: false,
  131.                 slidesToShow: 1,
  132.                 responsive: [{
  133.                     breakpoint: 768,
  134.                     settings: {
  135.                         dots: false
  136.                     }
  137.                 }]
  138.             });
  139.             \$('.slideThumb').on('click', function() {
  140.                 var index = \$(this).attr('data-index');
  141.                 \$('.item_visual').slick('slickGoTo', index, false);
  142.             });
  143.             \$('.item_visual').on('afterChange', function(slick, currentSlide){
  144.               var index = currentSlide.currentSlide+1;
  145.               \$('.item_nav_num .curr').text(index);
  146.               console.log('index', index);
  147.             });
  148.             \$('.item_visual').slick('setPosition');
  149.         });
  150.     </script>
  151.     <script>
  152.         \$(function() {
  153.             \$('.add-cart').on('click', function(event) {
  154.                 ";
  155.         // line 86
  156.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse86)) {
  157.             // line 87
  158.             echo "                // 規格1フォームの必須チェック
  159.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  160.                     \$('#classcategory_id1')[0].setCustomValidity('";
  161.             // line 89
  162.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  163.             echo "');
  164.                     return true;
  165.                 } else {
  166.                     \$('#classcategory_id1')[0].setCustomValidity('');
  167.                 }
  168.                 ";
  169.         }
  170.         // line 95
  171.         echo "
  172.                 ";
  173.         // line 96
  174.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse96)) {
  175.             // line 97
  176.             echo "                // 規格2フォームの必須チェック
  177.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  178.                     \$('#classcategory_id2')[0].setCustomValidity('";
  179.             // line 99
  180.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  181.             echo "');
  182.                     return true;
  183.                 } else {
  184.                     \$('#classcategory_id2')[0].setCustomValidity('');
  185.                 }
  186.                 ";
  187.         }
  188.         // line 105
  189.         echo "
  190.                 // 個数フォームのチェック
  191.                 if (\$('#quantity').val() < 1) {
  192.                     \$('#quantity')[0].setCustomValidity('";
  193.         // line 108
  194.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  195.         echo "');
  196.                     return true;
  197.                 } else {
  198.                     \$('#quantity')[0].setCustomValidity('');
  199.                 }
  200.                 event.preventDefault();
  201.                 \$form = \$('#form1');
  202.                 \$.ajax({
  203.                     url: \$form.attr('action'),
  204.                     type: \$form.attr('method'),
  205.                     data: \$form.serialize(),
  206.                     dataType: 'json',
  207.                     beforeSend: function(xhr, settings) {
  208.                         // Buttonを無効にする
  209.                         \$('.add-cart').prop('disabled', true);
  210.                     }
  211.                 }).done(function(data) {
  212.                     // レスポンス内のメッセージをalertで表示
  213.                     \$.each(data.messages, function() {
  214.                         \$('#ec-modal-header').html(this);
  215.                     });
  216.                     \$('.ec-modal').show()
  217.                     // カートブロックを更新する
  218.                     \$.ajax({
  219.                         url: \"";
  220.         // line 135
  221.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  222.         echo "\",
  223.                         type: 'GET',
  224.                         dataType: 'html'
  225.                     }).done(function(html) {
  226.                         \$('.ec-headerRole__cart').html(html);
  227.                     });
  228.                 }).fail(function(data) {
  229.                     alert('";
  230.         // line 142
  231.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  232.         echo "');
  233.                 }).always(function(data) {
  234.                     // Buttonを有効にする
  235.                     \$('.add-cart').prop('disabled', false);
  236.                 });
  237.             });
  238.         });
  239.         \$('.ec-modal-wrap').on('click', function(e) {
  240.             // モーダル内の処理は外側にバブリングさせない
  241.             e.stopPropagation();
  242.         });
  243.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  244.             \$('.ec-modal').hide()
  245.         });
  246.     </script>
  247.     <script type=\"application/ld+json\">
  248.     {
  249.         \"@context\": \"https://schema.org/\",
  250.         \"@type\": \"Product\",
  251.         \"name\": \"";
  252.         // line 162
  253.         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.'162$this->source); })()), "name", [], "any"falsefalsefalse162), "html"nulltrue);
  254.         echo "\",
  255.         \"image\": [
  256.             ";
  257.         // line 164
  258.         $context['_parent'] = $context;
  259.         $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.'164$this->source); })()), "ProductImage", [], "any"falsefalsefalse164));
  260.         $context['_iterated'] = false;
  261.         $context['loop'] = [
  262.           'parent' => $context['_parent'],
  263.           'index0' => 0,
  264.           'index'  => 1,
  265.           'first'  => true,
  266.         ];
  267.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  268.             $length count($context['_seq']);
  269.             $context['loop']['revindex0'] = $length 1;
  270.             $context['loop']['revindex'] = $length;
  271.             $context['loop']['length'] = $length;
  272.             $context['loop']['last'] = === $length;
  273.         }
  274.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  275.             // line 165
  276.             echo "                \"";
  277.             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.'165$this->source); })()), "request", [], "any"falsefalsefalse165), "schemeAndHttpHost", [], "any"falsefalsefalse165), "html"nulltrue);
  278.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html"nulltrue);
  279.             echo "\"";
  280.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse165)) {
  281.                 echo ",";
  282.             }
  283.             // line 166
  284.             echo "
  285.             ";
  286.             $context['_iterated'] = true;
  287.             ++$context['loop']['index0'];
  288.             ++$context['loop']['index'];
  289.             $context['loop']['first'] = false;
  290.             if (isset($context['loop']['length'])) {
  291.                 --$context['loop']['revindex0'];
  292.                 --$context['loop']['revindex'];
  293.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  294.             }
  295.         }
  296.         if (!$context['_iterated']) {
  297.             // line 168
  298.             echo "                \"";
  299.             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.'168$this->source); })()), "request", [], "any"falsefalsefalse168), "schemeAndHttpHost", [], "any"falsefalsefalse168), "html"nulltrue);
  300.             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);
  301.             echo "\"
  302.             ";
  303.         }
  304.         $_parent $context['_parent'];
  305.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  306.         $context array_intersect_key($context$_parent) + $_parent;
  307.         // line 170
  308.         echo "        ],
  309.         \"description\": \"";
  310.         // line 171
  311.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruefalse171)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsefalse171), 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.'171$this->source); })()), "description_detail", [], "any"falsefalsefalse171))) : (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.'171$this->source); })()), "description_detail", [], "any"falsefalsefalse171))), ["
  312. => """ " => ""]), 0300), "html"nulltrue);
  313.         echo "\",
  314.         ";
  315.         // line 172
  316.         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.'172$this->source); })()), "code_min", [], "any"falsefalsefalse172)) {
  317.             // line 173
  318.             echo "        \"sku\": \"";
  319.             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.'173$this->source); })()), "code_min", [], "any"falsefalsefalse173), "html"nulltrue);
  320.             echo "\",
  321.         ";
  322.         }
  323.         // line 175
  324.         echo "        \"offers\": {
  325.             \"@type\": \"Offer\",
  326.             \"url\": \"";
  327.         // line 177
  328.         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.'177$this->source); })()), "id", [], "any"falsefalsefalse177)]), "html"nulltrue);
  329.         echo "\",
  330.             \"priceCurrency\": \"";
  331.         // line 178
  332.         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.'178$this->source); })()), "currency", [], "any"falsefalsefalse178), "html"nulltrue);
  333.         echo "\",
  334.             \"price\": ";
  335.         // line 179
  336.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'179$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse179), "html"nulltrue);
  337.         echo ",
  338.             \"availability\": \"";
  339.         // line 180
  340.         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.'180$this->source); })()), "stock_find", [], "any"falsefalsefalse180)) ? ("InStock") : ("OutOfStock"));
  341.         echo "\"
  342.         }
  343.     }
  344.     </script>
  345. ";
  346.         
  347.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  348.         
  349.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  350.     }
  351.     // line 186
  352.     public function block_main($context, array $blocks = [])
  353.     {
  354.         $macros $this->macros;
  355.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  356.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  357.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  358.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  359.         // line 187
  360.         echo "    <div class=\"ec-productRole\">
  361.         <div class=\"ec-grid2\">
  362.             <div class=\"ec-grid2__cell ec-slider\">
  363.                 <div class=\"ec-sliderItemRole\">
  364.                     <div class=\"item_visual\">
  365.                         ";
  366.         // line 192
  367.         $context['_parent'] = $context;
  368.         $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.'192$this->source); })()), "ProductImage", [], "any"falsefalsefalse192));
  369.         $context['_iterated'] = false;
  370.         $context['loop'] = [
  371.           'parent' => $context['_parent'],
  372.           'index0' => 0,
  373.           'index'  => 1,
  374.           'first'  => true,
  375.         ];
  376.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  377.             $length count($context['_seq']);
  378.             $context['loop']['revindex0'] = $length 1;
  379.             $context['loop']['revindex'] = $length;
  380.             $context['loop']['length'] = $length;
  381.             $context['loop']['last'] = === $length;
  382.         }
  383.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  384.             // line 193
  385.             echo "                            <div class=\"slide-item\">
  386.                               <img src=\"";
  387.             // line 194
  388.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  389.             echo "\" alt=\"";
  390.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse194)) ? (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.'194$this->source); })()), "name", [], "any"falsefalsefalse194), "html"nulltrue))) : (print ("")));
  391.             echo "\">
  392.                               <div class=\"slider-text\">
  393.                                 <h3>";
  394.             // line 196
  395.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["ProductImage"], "getTitle", [], "any"falsefalsefalse196), "html"nulltrue);
  396.             echo "</h3>
  397.                                 <p>";
  398.             // line 197
  399.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["ProductImage"], "getDescription", [], "any"falsefalsefalse197), "html"nulltrue);
  400.             echo "</p>
  401.                               </div>
  402.                             </div>
  403.                         ";
  404.             $context['_iterated'] = true;
  405.             ++$context['loop']['index0'];
  406.             ++$context['loop']['index'];
  407.             $context['loop']['first'] = false;
  408.             if (isset($context['loop']['length'])) {
  409.                 --$context['loop']['revindex0'];
  410.                 --$context['loop']['revindex'];
  411.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  412.             }
  413.         }
  414.         if (!$context['_iterated']) {
  415.             // line 201
  416.             echo "                            <div class=\"slide-item\"><img src=\"";
  417.             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);
  418.             echo "\" alt=\"";
  419.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse201)) ? (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.'201$this->source); })()), "name", [], "any"falsefalsefalse201), "html"nulltrue))) : (print ("")));
  420.             echo "\" /></div>
  421.                         ";
  422.         }
  423.         $_parent $context['_parent'];
  424.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  425.         $context array_intersect_key($context$_parent) + $_parent;
  426.         // line 203
  427.         echo "                    </div>
  428.                     <div class=\"item_nav\">
  429.                         ";
  430.         // line 205
  431.         $context['_parent'] = $context;
  432.         $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.'205$this->source); })()), "ProductImage", [], "any"falsefalsefalse205));
  433.         $context['loop'] = [
  434.           'parent' => $context['_parent'],
  435.           'index0' => 0,
  436.           'index'  => 1,
  437.           'first'  => true,
  438.         ];
  439.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  440.             $length count($context['_seq']);
  441.             $context['loop']['revindex0'] = $length 1;
  442.             $context['loop']['revindex'] = $length;
  443.             $context['loop']['length'] = $length;
  444.             $context['loop']['last'] = === $length;
  445.         }
  446.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  447.             // line 206
  448.             echo "                            <div class=\"slideThumb\" data-index=\"";
  449.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse206), "html"nulltrue);
  450.             echo "\"><img src=\"";
  451.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  452.             echo "\" alt=\"\"></div>
  453.                         ";
  454.             ++$context['loop']['index0'];
  455.             ++$context['loop']['index'];
  456.             $context['loop']['first'] = false;
  457.             if (isset($context['loop']['length'])) {
  458.                 --$context['loop']['revindex0'];
  459.                 --$context['loop']['revindex'];
  460.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  461.             }
  462.         }
  463.         $_parent $context['_parent'];
  464.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  465.         $context array_intersect_key($context$_parent) + $_parent;
  466.         // line 208
  467.         echo "                    </div>
  468.                     <div class=\"item_nav_num\">
  469.                       <span class=\"curr\">1</span> / ";
  470.         // line 210
  471.         echo twig_escape_filter($this->envtwig_length_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'210$this->source); })()), "ProductImage", [], "any"falsefalsefalse210)), "html"nulltrue);
  472.         echo "
  473.                     </div>
  474.                 </div>
  475.             </div>
  476.             <div class=\"ec-grid2__cell ec-description\">
  477.                 <div class=\"ec-productRole__profile\">
  478.                     ";
  479.         // line 217
  480.         echo "                    <div class=\"ec-productRole__title\">
  481.                         <h2 class=\"ec-headingTitle\">";
  482.         // line 218
  483.         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.'218$this->source); })()), "name", [], "any"falsefalsefalse218), "html"nulltrue);
  484.         echo "</h2>
  485.                     </div>
  486.                     
  487.                     <div class=\"ec-productRole__description\">";
  488.         // line 221
  489.         echo twig_nl2br(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'221$this->source); })()), "description_detail", [], "any"falsefalsefalse221));
  490.         echo "
  491.                     </div>
  492.                     
  493.                     ";
  494.         // line 225
  495.         echo "                    <ul class=\"ec-productRole__tags\">
  496.                         ";
  497.         // line 226
  498.         $context['_parent'] = $context;
  499.         $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.'226$this->source); })()), "Tags", [], "any"falsefalsefalse226));
  500.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  501.             // line 227
  502.             echo "                            <li class=\"ec-productRole__tag tag_";
  503.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse227), "html"nulltrue);
  504.             echo "\">";
  505.             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  506.             echo "</li>
  507.                         ";
  508.         }
  509.         $_parent $context['_parent'];
  510.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  511.         $context array_intersect_key($context$_parent) + $_parent;
  512.         // line 229
  513.         echo "                        
  514.                       ";
  515.         // line 231
  516.         echo "                      ";
  517.         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.'231$this->source); })()), "getSaleDiscountTag2", [], "any"falsefalsefalse231);
  518.         echo "
  519.                     </ul>
  520.                     
  521.                     ";
  522.         // line 235
  523.         echo "                    ";
  524.         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.'235$this->source); })()), "hasProductClass", [], "any"falsefalsefalse235)) {
  525.             // line 236
  526.             echo "<div class=\"ec-productRole__priceRegular\">
  527.                             ";
  528.             // line 237
  529.             if (( !(null === twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'237$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse237)) && (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.'237$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse237) == 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.'237$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse237)))) {
  530.                 // line 238
  531.                 echo "                                <span class=\"ec-productRole__priceRegularPrice\">";
  532.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  533.                 echo ":<span class=\"price01-default\">";
  534.                 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.'238$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse238)), "html"nulltrue);
  535.                 echo "</span></span>
  536.                                 <span class=\"ec-productRole__priceRegularTax\">";
  537.                 // line 239
  538.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  539.                 echo "</span>
  540.                             ";
  541.             } elseif (( !(null === twig_get_attribute($this->env$this->source,             // line 240
  542. (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'240$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse240)) &&  !(null === twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'240$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse240)))) {
  543.                 // line 241
  544.                 echo "                                <span class=\"ec-productRole__priceRegularPrice\">";
  545.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  546.                 echo ":<span class=\"price01-default\">";
  547.                 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.'241$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse241)), "html"nulltrue);
  548.                 echo " ~ ";
  549.                 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.'241$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse241)), "html"nulltrue);
  550.                 echo "</span></span>
  551.                                 <span class=\"ec-productRole__priceRegularTax\">";
  552.                 // line 242
  553.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  554.                 echo "</span>
  555.                             ";
  556.             }
  557.             // line 244
  558.             echo "                        </div>
  559.                     ";
  560.         } else {
  561.             // line 246
  562.             echo "                        ";
  563.             if ( !(null === twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'246$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse246))) {
  564.                 // line 247
  565.                 echo "                        <div class=\"ec-productRole__priceRegular--div\">
  566.                             <span class=\"ec-productRole__priceRegularPrice\">";
  567.                 // line 248
  568.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  569.                 echo ":";
  570.                 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.'248$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse248)), "html"nulltrue);
  571.                 echo "</span>
  572.                             <span class=\"ec-productRole__priceRegularTax\">";
  573.                 // line 249
  574.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  575.                 echo "</span>
  576.                         </div>
  577.                         ";
  578.             }
  579.             // line 252
  580.             echo "                    ";
  581.         }
  582.         // line 253
  583.         echo "                    ";
  584.         // line 254
  585.         echo "                    <div class=\"ec-productRole__price\">
  586.                         ";
  587.         // line 255
  588.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'255$this->source); })()), "hasProductClass", [], "any"falsefalsefalse255)) {
  589.             // line 256
  590.             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.'256$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse256) == 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.'256$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse256))) {
  591.                 // line 257
  592.                 echo "                                <div class=\"ec-price\">
  593.                                     <span class=\"ec-price__price price02-default\">";
  594.                 // line 258
  595.                 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.'258$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse258)), "html"nulltrue);
  596.                 echo "</span>
  597.                                     <span class=\"ec-price__tax\">";
  598.                 // line 259
  599.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  600.                 echo "</span>
  601.                                 </div>
  602.                             ";
  603.             } else {
  604.                 // line 262
  605.                 echo "                                <div class=\"ec-price\">
  606.                                     <span class=\"ec-price__price price02-default\">";
  607.                 // line 263
  608.                 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.'263$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse263)), "html"nulltrue);
  609.                 echo " ~ ";
  610.                 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.'263$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse263)), "html"nulltrue);
  611.                 echo "</span>
  612.                                     <span class=\"ec-price__tax\">";
  613.                 // line 264
  614.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  615.                 echo "</span>
  616.                                 </div>
  617.                             ";
  618.             }
  619.             // line 267
  620.             echo "                        ";
  621.         } else {
  622.             // line 268
  623.             echo "                            <div class=\"ec-price\">
  624.                                 <span class=\"ec-price__price\">";
  625.             // line 269
  626.             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'269$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse269)), "html"nulltrue);
  627.             echo "</span>
  628.                                 <span class=\"ec-price__tax\">";
  629.             // line 270
  630.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  631.             echo "</span>
  632.                             </div>
  633.                         ";
  634.         }
  635.         // line 273
  636.         echo "                    </div>
  637.                     ";
  638.         // line 275
  639.         echo "                    ";
  640.         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.'275$this->source); })()), "code_min", [], "any"falsefalsefalse275))) {
  641.             // line 276
  642.             echo "                        <div class=\"ec-productRole__code\">
  643.                             ";
  644.             // line 277
  645.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html"nulltrue);
  646.             echo ": <span class=\"product-code-default\">";
  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.'277$this->source); })()), "code_min", [], "any"falsefalsefalse277), "html"nulltrue);
  648.             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.'277$this->source); })()), "code_min", [], "any"falsefalsefalse277) != 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.'277$this->source); })()), "code_max", [], "any"falsefalsefalse277))) {
  649.                 echo " ~ ";
  650.                 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.'277$this->source); })()), "code_max", [], "any"falsefalsefalse277), "html"nulltrue);
  651.             }
  652.             echo "</span>
  653.                         </div>
  654.                     ";
  655.         }
  656.         // line 280
  657.         echo "                    
  658.                     
  659.                     <form action=\"";
  660.         // line 283
  661.         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.'283$this->source); })()), "id", [], "any"falsefalsefalse283)]), "html"nulltrue);
  662.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  663.                         ";
  664.         // line 284
  665.         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.'284$this->source); })()), "stock_find", [], "any"falsefalsefalse284)) {
  666.             // line 285
  667.             echo "                            <div class=\"ec-productRole__actions\">
  668.                                 ";
  669.             // line 286
  670.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse286)) {
  671.                 // line 287
  672.                 echo "                                    <div class=\"ec-select\">
  673.                                         ";
  674.                 // line 288
  675.                 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.'288$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse288), 'widget');
  676.                 echo "
  677.                                         ";
  678.                 // line 289
  679.                 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.'289$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse289), 'errors');
  680.                 echo "
  681.                                     </div>
  682.                                     ";
  683.                 // line 291
  684.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse291)) {
  685.                     // line 292
  686.                     echo "                                        <div class=\"ec-select\">
  687.                                             ";
  688.                     // line 293
  689.                     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.'293$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse293), 'widget');
  690.                     echo "
  691.                                             ";
  692.                     // line 294
  693.                     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.'294$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse294), 'errors');
  694.                     echo "
  695.                                         </div>
  696.                                     ";
  697.                 }
  698.                 // line 297
  699.                 echo "                                ";
  700.             }
  701.             // line 298
  702.             echo "                                <div class=\"ec-numberInput\"><span>";
  703.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  704.             echo "</span>
  705.                                     ";
  706.             // line 299
  707.             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.'299$this->source); })()), "quantity", [], "any"falsefalsefalse299), 'widget');
  708.             echo "
  709.                                     ";
  710.             // line 300
  711.             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.'300$this->source); })()), "quantity", [], "any"falsefalsefalse300), 'errors');
  712.             echo "
  713.                                 </div>
  714.                             </div>
  715.                             <div class=\"ec-productRole__btn\">
  716.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  717.                                     ";
  718.             // line 305
  719.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  720.             echo "
  721.                                 </button>
  722.                             </div>
  723.                         ";
  724.         } else {
  725.             // line 309
  726.             echo "                            <div class=\"ec-productRole__btn\">
  727.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  728.                                     ";
  729.             // line 311
  730.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  731.             echo "
  732.                                 </button>
  733.                             </div>
  734.                         ";
  735.         }
  736.         // line 315
  737.         echo "
  738.                         ";
  739.         // line 316
  740.         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.'316$this->source); })()), 'rest');
  741.         echo "
  742.                     </form>
  743.                     <div class=\"ec-modal\">
  744.                         <div class=\"ec-modal-overlay\">
  745.                             <div class=\"ec-modal-wrap\">
  746.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  747.         // line 321
  748.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  749.         echo "\" alt=\"\"/></span></span>
  750.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  751.         // line 322
  752.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  753.         echo "</div>
  754.                                 <div class=\"ec-modal-box\">
  755.                                     <div class=\"ec-role\">
  756.                                         <span class=\"ec-inlineBtn--cancel\">";
  757.         // line 325
  758.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  759.         echo "</span>
  760.                                         <a href=\"";
  761.         // line 326
  762.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  763.         echo "\" class=\"ec-inlineBtn--action\">";
  764.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  765.         echo "</a>
  766.                                     </div>
  767.                                 </div>
  768.                             </div>
  769.                         </div>
  770.                     </div>
  771.                     ";
  772.         // line 332
  773.         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.'332$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse332)) {
  774.             // line 333
  775.             echo "                        <form action=\"";
  776.             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.'333$this->source); })()), "id", [], "any"falsefalsefalse333)]), "html"nulltrue);
  777.             echo "\" method=\"post\">
  778.                             <div class=\"ec-productRole__btn ec-productRole__favorite\">
  779.                                 ";
  780.             // line 335
  781.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'335$this->source); })()) == false)) {
  782.                 // line 336
  783.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  784.                                         ";
  785.                 // line 337
  786.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  787.                 echo "
  788.                                     </button>
  789.                                 ";
  790.             } else {
  791.                 // line 340
  792.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  793.                                             disabled=\"disabled\">";
  794.                 // line 341
  795.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html"nulltrue);
  796.                 echo "
  797.                                     </button>
  798.                                 ";
  799.             }
  800.             // line 344
  801.             echo "                            </div>
  802.                         </form>
  803.                     ";
  804.         }
  805.         // line 347
  806.         echo "                    
  807.                     
  808.                     <table class=\"product_detail_tbl tbl\">
  809.                       <thead>
  810.                         <tr>
  811.                           <th colspan=\"2\">商品詳細</th>
  812.                         </tr>
  813.                       </thead>
  814.                       <tbody>
  815.                         <tr>
  816.                           <th>ブランド</th>
  817.                           <td>
  818.                             ";
  819.         // line 359
  820.         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.'359$this->source); })()), "Brand", [], "any"falsefalsefalse359))) {
  821.             // line 360
  822.             echo "                            ";
  823.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'360$this->source); })()), "Brand", [], "any"falsefalsefalse360), "name", [], "any"falsefalsefalse360), "html"nulltrue);
  824.             echo "
  825.                             ";
  826.         }
  827.         // line 362
  828.         echo "                          </td>
  829.                         </tr>
  830.                         <tr>
  831.                           <th>品番</th>
  832.                           <td>
  833.                             ";
  834.         // line 367
  835.         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.'367$this->source); })()), "hasProductClass", [], "any"falsefalsefalse367)) {
  836.             // line 368
  837.             echo "                              ";
  838.             $context['_parent'] = $context;
  839.             $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); })()), "getProductClasses", [], "method"falsefalsefalse368));
  840.             $context['loop'] = [
  841.               'parent' => $context['_parent'],
  842.               'index0' => 0,
  843.               'index'  => 1,
  844.               'first'  => true,
  845.             ];
  846.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  847.                 $length count($context['_seq']);
  848.                 $context['loop']['revindex0'] = $length 1;
  849.                 $context['loop']['revindex'] = $length;
  850.                 $context['loop']['length'] = $length;
  851.                 $context['loop']['last'] = === $length;
  852.             }
  853.             foreach ($context['_seq'] as $context["_key"] => $context["Class"]) {
  854.                 // line 369
  855.                 echo "                                ";
  856.                 if (twig_get_attribute($this->env$this->source$context["Class"], "code", [], "any"falsefalsefalse369)) {
  857.                     // line 370
  858.                     echo "                                ";
  859.                     if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse370)) {
  860.                         // line 371
  861.                         echo "                                  ";
  862.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Class"], "code", [], "any"falsefalsefalse371), "html"nulltrue);
  863.                         echo "
  864.                                 ";
  865.                     } else {
  866.                         // line 373
  867.                         echo "                                  ";
  868.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Class"], "code", [], "any"falsefalsefalse373), "html"nulltrue);
  869.                         echo ", 
  870.                                 ";
  871.                     }
  872.                     // line 375
  873.                     echo "                                ";
  874.                 }
  875.                 // line 376
  876.                 echo "                              ";
  877.                 ++$context['loop']['index0'];
  878.                 ++$context['loop']['index'];
  879.                 $context['loop']['first'] = false;
  880.                 if (isset($context['loop']['length'])) {
  881.                     --$context['loop']['revindex0'];
  882.                     --$context['loop']['revindex'];
  883.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  884.                 }
  885.             }
  886.             $_parent $context['_parent'];
  887.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Class'], $context['_parent'], $context['loop']);
  888.             $context array_intersect_key($context$_parent) + $_parent;
  889.             // line 377
  890.             echo "                            ";
  891.         } else {
  892.             // line 378
  893.             echo "                              ";
  894.             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); })()), "code_min", [], "any"falsefalsefalse378), "html"nulltrue);
  895.             echo "
  896.                             ";
  897.         }
  898.         // line 380
  899.         echo "                          </td>
  900.                         </tr>
  901.                         <tr>
  902.                           <th>サイズ</th>
  903.                           <td>";
  904.         // line 384
  905.         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.'384$this->source); })()), "plg_size", [], "any"falsefalsefalse384));
  906.         echo "</td>
  907.                         </tr>
  908.                         <tr>
  909.                           <th>素材</th>
  910.                           <td>";
  911.         // line 388
  912.         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.'388$this->source); })()), "plg_sozai", [], "any"falsefalsefalse388));
  913.         echo "</td>
  914.                         </tr>
  915.                         <tr>
  916.                           <th>カラー</th>
  917.                           <td>
  918.                             ";
  919.         // line 393
  920.         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.'393$this->source); })()), "hasProductClass", [], "any"falsefalsefalse393)) {
  921.             // line 394
  922.             echo "                              ";
  923.             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.'394$this->source); })()), "getColorsList", [], "any"falsefalsefalse394), "html"nulltrue);
  924.             echo "
  925.                             ";
  926.         } else {
  927.             // line 396
  928.             echo "                              ";
  929.             $context["Class"] = twig_get_attribute($this->env$this->sourcecall_user_func_array($this->env->getFunction('repository')->getCallable(), ["Eccube\\Entity\\ProductClass"]), "findOneBy", [=> ["Product" => (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'396$this->source); })())]], "method"falsefalsefalse396);
  930.             // line 397
  931.             echo "                              ";
  932.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Class"]) || array_key_exists("Class"$context) ? $context["Class"] : (function () { throw new RuntimeError('Variable "Class" does not exist.'397$this->source); })()), "getDisplayClassname", [], "any"falsefalsefalse397), "html"nulltrue);
  933.             echo "
  934.                             ";
  935.         }
  936.         // line 399
  937.         echo "                          </td>
  938.                         </tr>
  939.                         <tr>
  940.                           <th>重量</th>
  941.                           <td>";
  942.         // line 403
  943.         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.'403$this->source); })()), "plg_weight1", [], "any"falsefalsefalse403));
  944.         echo "</td>
  945.                         </tr>
  946.                         <tr>
  947.                           <th>耐荷重</th>
  948.                           <td>";
  949.         // line 407
  950.         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.'407$this->source); })()), "plg_weight2", [], "any"falsefalsefalse407));
  951.         echo "</td>
  952.                         </tr>
  953.                         <tr>
  954.                           <th>備考</th>
  955.                           <td>";
  956.         // line 411
  957.         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.'411$this->source); })()), "plg_comment", [], "any"falsefalsefalse411));
  958.         echo "</td>
  959.                         </tr>
  960.                       </tbody>
  961.                     </table>
  962.                     
  963.                     <!-- 商品状態ランクについて -->
  964.                     ";
  965.         // line 417
  966.         echo twig_include($this->env$context"Block/product_rank_desc.twig");
  967.         echo "
  968.                     
  969.                     ";
  970.         // line 420
  971.         echo "                    ";
  972.         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.'420$this->source); })()), "ProductCategories", [], "any"falsefalsefalse420))) {
  973.             // line 421
  974.             echo "                        <div class=\"ec-productRole__category\">
  975.                             <div>";
  976.             // line 422
  977.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("関連カテゴリ"), "html"nulltrue);
  978.             echo "</div>
  979.                             ";
  980.             // line 423
  981.             $context['_parent'] = $context;
  982.             $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.'423$this->source); })()), "ProductCategories", [], "any"falsefalsefalse423));
  983.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  984.                 // line 424
  985.                 echo "                                <ul>
  986.                                     <li>
  987.                                         ";
  988.                 // line 426
  989.                 $context['_parent'] = $context;
  990.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse426), "path", [], "any"falsefalsefalse426));
  991.                 $context['loop'] = [
  992.                   'parent' => $context['_parent'],
  993.                   'index0' => 0,
  994.                   'index'  => 1,
  995.                   'first'  => true,
  996.                 ];
  997.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  998.                     $length count($context['_seq']);
  999.                     $context['loop']['revindex0'] = $length 1;
  1000.                     $context['loop']['revindex'] = $length;
  1001.                     $context['loop']['length'] = $length;
  1002.                     $context['loop']['last'] = === $length;
  1003.                 }
  1004.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  1005.                     // line 427
  1006.                     echo "                                            <a href=\"";
  1007.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  1008.                     echo "?category_id=";
  1009.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse427), "html"nulltrue);
  1010.                     echo "\">";
  1011.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse427), "html"nulltrue);
  1012.                     echo "</a>";
  1013.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse427) == false)) {
  1014.                         // line 428
  1015.                         echo "                                            <span>></span>";
  1016.                     }
  1017.                     ++$context['loop']['index0'];
  1018.                     ++$context['loop']['index'];
  1019.                     $context['loop']['first'] = false;
  1020.                     if (isset($context['loop']['length'])) {
  1021.                         --$context['loop']['revindex0'];
  1022.                         --$context['loop']['revindex'];
  1023.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  1024.                     }
  1025.                 }
  1026.                 $_parent $context['_parent'];
  1027.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  1028.                 $context array_intersect_key($context$_parent) + $_parent;
  1029.                 // line 430
  1030.                 echo "                                    </li>
  1031.                                 </ul>
  1032.                             ";
  1033.             }
  1034.             $_parent $context['_parent'];
  1035.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  1036.             $context array_intersect_key($context$_parent) + $_parent;
  1037.             // line 433
  1038.             echo "                        </div>
  1039.                     ";
  1040.         }
  1041.         // line 435
  1042.         echo "                    
  1043.                     ";
  1044.         // line 436
  1045.         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.'436$this->source); })()), "Taste", [], "any"falsefalsefalse436))) {
  1046.             // line 437
  1047.             echo "                      <div id=\"taste_area\" class=\"ec-productRole__taste\" style=\"padding: 14px 0; border-bottom: 1px dotted #ccc;\">
  1048.                           ";
  1049.             // line 438
  1050.             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.'438$this->source); })()), "taste_url", [], "any"falsefalsefalse438))) {
  1051.                 // line 439
  1052.                 echo "                              <p class=\"ec-taste\">";
  1053.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("taste.admin.taste"), "html"nulltrue);
  1054.                 echo ": <a href=\"";
  1055.                 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.'439$this->source); })()), "taste_url", [], "any"falsefalsefalse439), "html"nulltrue);
  1056.                 echo "\" target=\"_blank\">";
  1057.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'439$this->source); })()), "Taste", [], "any"falsefalsefalse439), "name", [], "any"falsefalsefalse439), "html"nulltrue);
  1058.                 echo "</a></p>
  1059.                           ";
  1060.             } else {
  1061.                 // line 441
  1062.                 echo "                              <p class=\"ec-taste\">";
  1063.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("taste.admin.taste"), "html"nulltrue);
  1064.                 echo ": ";
  1065.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'441$this->source); })()), "Taste", [], "any"falsefalsefalse441), "name", [], "any"falsefalsefalse441), "html"nulltrue);
  1066.                 echo "</p>
  1067.                           ";
  1068.             }
  1069.             // line 443
  1070.             echo "                      </div>
  1071.                     ";
  1072.         }
  1073.         // line 445
  1074.         echo "                </div>
  1075.             </div>
  1076.         </div>
  1077.     </div>
  1078.                 
  1079.                 
  1080.     
  1081.     ";
  1082.         // line 452
  1083.         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.'452$this->source); })()), "freearea", [], "any"falsefalsefalse452)) {
  1084.             // line 453
  1085.             echo "    <div class=\"ec-descriptionRole\">
  1086.       <div class=\"ec-productRole__description\">
  1087.           ";
  1088.             // line 455
  1089.             echo twig_include($this->env$contexttwig_template_from_string($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'455$this->source); })()), "freearea", [], "any"falsefalsefalse455)));
  1090.             echo "
  1091.       </div>
  1092.     </div>
  1093.     ";
  1094.         }
  1095.         // line 459
  1096.         echo "    
  1097.         
  1098.         
  1099.     <div class=\"\" id=\"related_product_area\">
  1100.       <div class=\"ec-pageHeader\">
  1101.         <h3>関連アイテム</h3>
  1102.       </div>
  1103.       <div class=\"product_list\">
  1104.         <ul class=\"ec-shelfGrid\">
  1105.         ";
  1106.         // line 468
  1107.         $context["RelatedProducts"] = twig_get_attribute($this->env$this->sourcecall_user_func_array($this->env->getFunction('repository')->getCallable(), ["Eccube\\Entity\\Product"]), "getRelatedProducts", [=> (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'468$this->source); })())], "method"falsefalsefalse468);
  1108.         // line 469
  1109.         echo "        ";
  1110.         $context['_parent'] = $context;
  1111.         $context['_seq'] = twig_ensure_traversable((isset($context["RelatedProducts"]) || array_key_exists("RelatedProducts"$context) ? $context["RelatedProducts"] : (function () { throw new RuntimeError('Variable "RelatedProducts" does not exist.'469$this->source); })()));
  1112.         $context['loop'] = [
  1113.           'parent' => $context['_parent'],
  1114.           'index0' => 0,
  1115.           'index'  => 1,
  1116.           'first'  => true,
  1117.         ];
  1118.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1119.             $length count($context['_seq']);
  1120.             $context['loop']['revindex0'] = $length 1;
  1121.             $context['loop']['revindex'] = $length;
  1122.             $context['loop']['length'] = $length;
  1123.             $context['loop']['last'] = === $length;
  1124.         }
  1125.         foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  1126.             // line 470
  1127.             echo "        ";
  1128.             echo twig_include($this->env$context"Product/list_single_item.twig");
  1129.             echo "
  1130.         ";
  1131.             ++$context['loop']['index0'];
  1132.             ++$context['loop']['index'];
  1133.             $context['loop']['first'] = false;
  1134.             if (isset($context['loop']['length'])) {
  1135.                 --$context['loop']['revindex0'];
  1136.                 --$context['loop']['revindex'];
  1137.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  1138.             }
  1139.         }
  1140.         $_parent $context['_parent'];
  1141.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  1142.         $context array_intersect_key($context$_parent) + $_parent;
  1143.         // line 472
  1144.         echo "        </ul>
  1145.       </div>
  1146.     </div>
  1147.       
  1148.         
  1149. ";
  1150.         
  1151.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  1152.         
  1153.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  1154.     }
  1155.     public function getTemplateName()
  1156.     {
  1157.         return "Product/detail.twig";
  1158.     }
  1159.     public function isTraitable()
  1160.     {
  1161.         return false;
  1162.     }
  1163.     public function getDebugInfo()
  1164.     {
  1165.         return array (  1178 => 472,  1161 => 470,  1143 => 469,  1141 => 468,  1130 => 459,  1123 => 455,  1119 => 453,  1117 => 452,  1108 => 445,  1104 => 443,  1096 => 441,  1086 => 439,  1084 => 438,  1081 => 437,  1079 => 436,  1076 => 435,  1072 => 433,  1064 => 430,  1049 => 428,  1040 => 427,  1023 => 426,  1019 => 424,  1015 => 423,  1011 => 422,  1008 => 421,  1005 => 420,  1000 => 417,  991 => 411,  984 => 407,  977 => 403,  971 => 399,  965 => 397,  962 => 396,  956 => 394,  954 => 393,  946 => 388,  939 => 384,  933 => 380,  927 => 378,  924 => 377,  910 => 376,  907 => 375,  901 => 373,  895 => 371,  892 => 370,  889 => 369,  871 => 368,  869 => 367,  862 => 362,  856 => 360,  854 => 359,  840 => 347,  835 => 344,  829 => 341,  826 => 340,  820 => 337,  817 => 336,  815 => 335,  809 => 333,  807 => 332,  796 => 326,  792 => 325,  786 => 322,  782 => 321,  774 => 316,  771 => 315,  764 => 311,  760 => 309,  753 => 305,  745 => 300,  741 => 299,  736 => 298,  733 => 297,  727 => 294,  723 => 293,  720 => 292,  718 => 291,  713 => 289,  709 => 288,  706 => 287,  704 => 286,  701 => 285,  699 => 284,  695 => 283,  690 => 280,  678 => 277,  675 => 276,  672 => 275,  669 => 273,  663 => 270,  659 => 269,  656 => 268,  653 => 267,  647 => 264,  641 => 263,  638 => 262,  632 => 259,  628 => 258,  625 => 257,  623 => 256,  621 => 255,  618 => 254,  616 => 253,  613 => 252,  607 => 249,  601 => 248,  598 => 247,  595 => 246,  591 => 244,  586 => 242,  577 => 241,  575 => 240,  571 => 239,  564 => 238,  562 => 237,  559 => 236,  556 => 235,  549 => 231,  546 => 229,  535 => 227,  531 => 226,  528 => 225,  522 => 221,  516 => 218,  513 => 217,  504 => 210,  500 => 208,  481 => 206,  464 => 205,  460 => 203,  449 => 201,  432 => 197,  428 => 196,  421 => 194,  418 => 193,  400 => 192,  393 => 187,  383 => 186,  368 => 180,  364 => 179,  360 => 178,  356 => 177,  352 => 175,  346 => 173,  344 => 172,  339 => 171,  336 => 170,  326 => 168,  312 => 166,  304 => 165,  286 => 164,  281 => 162,  258 => 142,  248 => 135,  218 => 108,  213 => 105,  204 => 99,  200 => 97,  198 => 96,  195 => 95,  186 => 89,  182 => 87,  180 => 86,  140 => 48,  132 => 46,  130 => 45,  125 => 43,  122 => 42,  120 => 41,  106 => 30,  103 => 29,  93 => 28,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  1166.     }
  1167.     public function getSourceContext()
  1168.     {
  1169.         return new Source("{#
  1170. This file is part of EC-CUBE
  1171. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1172. http://www.ec-cube.co.jp/
  1173. For the full copyright and license information, please view the LICENSE
  1174. file that was distributed with this source code.
  1175. #}
  1176. {% extends 'default_frame.twig' %}
  1177. {% set body_class = 'product_page product_detail' %}
  1178. {% block stylesheet %}
  1179.     <style>
  1180.       .item_nav_num{
  1181.         text-align: center;
  1182.       }
  1183.       @media (min-width:768px){
  1184.         .item_nav_num{
  1185.           display: none;
  1186.         }
  1187.       }
  1188.     </style>
  1189. {% endblock %}
  1190. {% block javascript %}
  1191.     <script>
  1192.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1193.         // 規格2に選択肢を割り当てる。
  1194.         function fnSetClassCategories(form, classcat_id2_selected) {
  1195.             var \$form = \$(form);
  1196.             var product_id = \$form.find('input[name=product_id]').val();
  1197.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1198.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1199.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  1200.         }
  1201.         {% if form.classcategory_id2 is defined %}
  1202.         fnSetClassCategories(
  1203.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  1204.         );
  1205.         {% elseif form.classcategory_id1 is defined %}
  1206.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  1207.         {% endif %}
  1208.     </script>
  1209.     <script>
  1210.         \$(function() {
  1211.             // bfcache無効化
  1212.             \$(window).bind('pageshow', function(event) {
  1213.                 if (event.originalEvent.persisted) {
  1214.                     location.reload(true);
  1215.                 }
  1216.             });
  1217.             \$('.item_visual').slick({
  1218.                 dots: false,
  1219.                 arrows: false,
  1220.                 slidesToShow: 1,
  1221.                 responsive: [{
  1222.                     breakpoint: 768,
  1223.                     settings: {
  1224.                         dots: false
  1225.                     }
  1226.                 }]
  1227.             });
  1228.             \$('.slideThumb').on('click', function() {
  1229.                 var index = \$(this).attr('data-index');
  1230.                 \$('.item_visual').slick('slickGoTo', index, false);
  1231.             });
  1232.             \$('.item_visual').on('afterChange', function(slick, currentSlide){
  1233.               var index = currentSlide.currentSlide+1;
  1234.               \$('.item_nav_num .curr').text(index);
  1235.               console.log('index', index);
  1236.             });
  1237.             \$('.item_visual').slick('setPosition');
  1238.         });
  1239.     </script>
  1240.     <script>
  1241.         \$(function() {
  1242.             \$('.add-cart').on('click', function(event) {
  1243.                 {% if form.classcategory_id1 is defined %}
  1244.                 // 規格1フォームの必須チェック
  1245.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  1246.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1247.                     return true;
  1248.                 } else {
  1249.                     \$('#classcategory_id1')[0].setCustomValidity('');
  1250.                 }
  1251.                 {% endif %}
  1252.                 {% if form.classcategory_id2 is defined %}
  1253.                 // 規格2フォームの必須チェック
  1254.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  1255.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1256.                     return true;
  1257.                 } else {
  1258.                     \$('#classcategory_id2')[0].setCustomValidity('');
  1259.                 }
  1260.                 {% endif %}
  1261.                 // 個数フォームのチェック
  1262.                 if (\$('#quantity').val() < 1) {
  1263.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1264.                     return true;
  1265.                 } else {
  1266.                     \$('#quantity')[0].setCustomValidity('');
  1267.                 }
  1268.                 event.preventDefault();
  1269.                 \$form = \$('#form1');
  1270.                 \$.ajax({
  1271.                     url: \$form.attr('action'),
  1272.                     type: \$form.attr('method'),
  1273.                     data: \$form.serialize(),
  1274.                     dataType: 'json',
  1275.                     beforeSend: function(xhr, settings) {
  1276.                         // Buttonを無効にする
  1277.                         \$('.add-cart').prop('disabled', true);
  1278.                     }
  1279.                 }).done(function(data) {
  1280.                     // レスポンス内のメッセージをalertで表示
  1281.                     \$.each(data.messages, function() {
  1282.                         \$('#ec-modal-header').html(this);
  1283.                     });
  1284.                     \$('.ec-modal').show()
  1285.                     // カートブロックを更新する
  1286.                     \$.ajax({
  1287.                         url: \"{{ url('block_cart') }}\",
  1288.                         type: 'GET',
  1289.                         dataType: 'html'
  1290.                     }).done(function(html) {
  1291.                         \$('.ec-headerRole__cart').html(html);
  1292.                     });
  1293.                 }).fail(function(data) {
  1294.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1295.                 }).always(function(data) {
  1296.                     // Buttonを有効にする
  1297.                     \$('.add-cart').prop('disabled', false);
  1298.                 });
  1299.             });
  1300.         });
  1301.         \$('.ec-modal-wrap').on('click', function(e) {
  1302.             // モーダル内の処理は外側にバブリングさせない
  1303.             e.stopPropagation();
  1304.         });
  1305.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  1306.             \$('.ec-modal').hide()
  1307.         });
  1308.     </script>
  1309.     <script type=\"application/ld+json\">
  1310.     {
  1311.         \"@context\": \"https://schema.org/\",
  1312.         \"@type\": \"Product\",
  1313.         \"name\": \"{{ Product.name }}\",
  1314.         \"image\": [
  1315.             {% for img in Product.ProductImage %}
  1316.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  1317.             {% else %}
  1318.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  1319.             {% endfor %}
  1320.         ],
  1321.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  1322.         {% if Product.code_min %}
  1323.         \"sku\": \"{{ Product.code_min }}\",
  1324.         {% endif %}
  1325.         \"offers\": {
  1326.             \"@type\": \"Offer\",
  1327.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  1328.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  1329.             \"price\": {{ Product.getPrice02IncTaxMin }},
  1330.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  1331.         }
  1332.     }
  1333.     </script>
  1334. {% endblock %}
  1335. {% block main %}
  1336.     <div class=\"ec-productRole\">
  1337.         <div class=\"ec-grid2\">
  1338.             <div class=\"ec-grid2__cell ec-slider\">
  1339.                 <div class=\"ec-sliderItemRole\">
  1340.                     <div class=\"item_visual\">
  1341.                         {% for ProductImage in Product.ProductImage %}
  1342.                             <div class=\"slide-item\">
  1343.                               <img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\">
  1344.                               <div class=\"slider-text\">
  1345.                                 <h3>{{ ProductImage.getTitle }}</h3>
  1346.                                 <p>{{ ProductImage.getDescription }}</p>
  1347.                               </div>
  1348.                             </div>
  1349.                         {% else %}
  1350.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" /></div>
  1351.                         {% endfor %}
  1352.                     </div>
  1353.                     <div class=\"item_nav\">
  1354.                         {% for ProductImage in Product.ProductImage %}
  1355.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\"></div>
  1356.                         {% endfor %}
  1357.                     </div>
  1358.                     <div class=\"item_nav_num\">
  1359.                       <span class=\"curr\">1</span> / {{ Product.ProductImage | length }}
  1360.                     </div>
  1361.                 </div>
  1362.             </div>
  1363.             <div class=\"ec-grid2__cell ec-description\">
  1364.                 <div class=\"ec-productRole__profile\">
  1365.                     {# 商品名 #}
  1366.                     <div class=\"ec-productRole__title\">
  1367.                         <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  1368.                     </div>
  1369.                     
  1370.                     <div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
  1371.                     </div>
  1372.                     
  1373.                     {# タグ #}
  1374.                     <ul class=\"ec-productRole__tags\">
  1375.                         {% for Tag in Product.Tags %}
  1376.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  1377.                         {% endfor %}
  1378.                         
  1379.                       {# 割引率 #}
  1380.                       {{ Product.getSaleDiscountTag2|raw }}
  1381.                     </ul>
  1382.                     
  1383.                     {# 通常価格 #}
  1384.                     {% if Product.hasProductClass -%}
  1385.                         <div class=\"ec-productRole__priceRegular\">
  1386.                             {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  1387.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
  1388.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1389.                             {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  1390.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }} ~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
  1391.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1392.                             {% endif %}
  1393.                         </div>
  1394.                     {% else %}
  1395.                         {% if Product.getPrice01Max is not null %}
  1396.                         <div class=\"ec-productRole__priceRegular--div\">
  1397.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  1398.                             <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1399.                         </div>
  1400.                         {% endif %}
  1401.                     {% endif %}
  1402.                     {# 販売価格 #}
  1403.                     <div class=\"ec-productRole__price\">
  1404.                         {% if Product.hasProductClass -%}
  1405.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1406.                                 <div class=\"ec-price\">
  1407.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1408.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1409.                                 </div>
  1410.                             {% else %}
  1411.                                 <div class=\"ec-price\">
  1412.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1413.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1414.                                 </div>
  1415.                             {% endif %}
  1416.                         {% else %}
  1417.                             <div class=\"ec-price\">
  1418.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1419.                                 <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1420.                             </div>
  1421.                         {% endif %}
  1422.                     </div>
  1423.                     {# 商品コード #}
  1424.                     {% if Product.code_min is not empty %}
  1425.                         <div class=\"ec-productRole__code\">
  1426.                             {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1427.                         </div>
  1428.                     {% endif %}
  1429.                     
  1430.                     
  1431.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1432.                         {% if Product.stock_find %}
  1433.                             <div class=\"ec-productRole__actions\">
  1434.                                 {% if form.classcategory_id1 is defined %}
  1435.                                     <div class=\"ec-select\">
  1436.                                         {{ form_widget(form.classcategory_id1) }}
  1437.                                         {{ form_errors(form.classcategory_id1) }}
  1438.                                     </div>
  1439.                                     {% if form.classcategory_id2 is defined %}
  1440.                                         <div class=\"ec-select\">
  1441.                                             {{ form_widget(form.classcategory_id2) }}
  1442.                                             {{ form_errors(form.classcategory_id2) }}
  1443.                                         </div>
  1444.                                     {% endif %}
  1445.                                 {% endif %}
  1446.                                 <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  1447.                                     {{ form_widget(form.quantity) }}
  1448.                                     {{ form_errors(form.quantity) }}
  1449.                                 </div>
  1450.                             </div>
  1451.                             <div class=\"ec-productRole__btn\">
  1452.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1453.                                     {{ 'カートに入れる'|trans }}
  1454.                                 </button>
  1455.                             </div>
  1456.                         {% else %}
  1457.                             <div class=\"ec-productRole__btn\">
  1458.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1459.                                     {{ 'ただいま品切れ中です。'|trans }}
  1460.                                 </button>
  1461.                             </div>
  1462.                         {% endif %}
  1463.                         {{ form_rest(form) }}
  1464.                     </form>
  1465.                     <div class=\"ec-modal\">
  1466.                         <div class=\"ec-modal-overlay\">
  1467.                             <div class=\"ec-modal-wrap\">
  1468.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1469.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1470.                                 <div class=\"ec-modal-box\">
  1471.                                     <div class=\"ec-role\">
  1472.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1473.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1474.                                     </div>
  1475.                                 </div>
  1476.                             </div>
  1477.                         </div>
  1478.                     </div>
  1479.                     {% if BaseInfo.option_favorite_product %}
  1480.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1481.                             <div class=\"ec-productRole__btn ec-productRole__favorite\">
  1482.                                 {% if is_favorite == false %}
  1483.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  1484.                                         {{ 'お気に入りに追加'|trans }}
  1485.                                     </button>
  1486.                                 {% else %}
  1487.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  1488.                                             disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
  1489.                                     </button>
  1490.                                 {% endif %}
  1491.                             </div>
  1492.                         </form>
  1493.                     {% endif %}
  1494.                     
  1495.                     
  1496.                     <table class=\"product_detail_tbl tbl\">
  1497.                       <thead>
  1498.                         <tr>
  1499.                           <th colspan=\"2\">商品詳細</th>
  1500.                         </tr>
  1501.                       </thead>
  1502.                       <tbody>
  1503.                         <tr>
  1504.                           <th>ブランド</th>
  1505.                           <td>
  1506.                             {% if Product.Brand is not empty %}
  1507.                             {{ Product.Brand.name }}
  1508.                             {% endif %}
  1509.                           </td>
  1510.                         </tr>
  1511.                         <tr>
  1512.                           <th>品番</th>
  1513.                           <td>
  1514.                             {% if Product.hasProductClass %}
  1515.                               {% for Class in Product.getProductClasses() %}
  1516.                                 {% if Class.code %}
  1517.                                 {% if loop.last %}
  1518.                                   {{ Class.code }}
  1519.                                 {% else %}
  1520.                                   {{ Class.code }}, 
  1521.                                 {% endif %}
  1522.                                 {% endif %}
  1523.                               {% endfor %}
  1524.                             {% else %}
  1525.                               {{ Product.code_min }}
  1526.                             {% endif %}
  1527.                           </td>
  1528.                         </tr>
  1529.                         <tr>
  1530.                           <th>サイズ</th>
  1531.                           <td>{{ Product.plg_size|raw|nl2br }}</td>
  1532.                         </tr>
  1533.                         <tr>
  1534.                           <th>素材</th>
  1535.                           <td>{{ Product.plg_sozai|raw|nl2br }}</td>
  1536.                         </tr>
  1537.                         <tr>
  1538.                           <th>カラー</th>
  1539.                           <td>
  1540.                             {% if Product.hasProductClass %}
  1541.                               {{ Product.getColorsList }}
  1542.                             {% else %}
  1543.                               {% set Class = repository('Eccube\\\\Entity\\\\ProductClass').findOneBy({'Product':Product}) %}
  1544.                               {{ Class.getDisplayClassname }}
  1545.                             {% endif %}
  1546.                           </td>
  1547.                         </tr>
  1548.                         <tr>
  1549.                           <th>重量</th>
  1550.                           <td>{{ Product.plg_weight1|raw|nl2br }}</td>
  1551.                         </tr>
  1552.                         <tr>
  1553.                           <th>耐荷重</th>
  1554.                           <td>{{ Product.plg_weight2|raw|nl2br }}</td>
  1555.                         </tr>
  1556.                         <tr>
  1557.                           <th>備考</th>
  1558.                           <td>{{ Product.plg_comment|raw|nl2br }}</td>
  1559.                         </tr>
  1560.                       </tbody>
  1561.                     </table>
  1562.                     
  1563.                     <!-- 商品状態ランクについて -->
  1564.                     {{ include('Block/product_rank_desc.twig') }}
  1565.                     
  1566.                     {# 関連カテゴリ #}
  1567.                     {% if Product.ProductCategories is not empty %}
  1568.                         <div class=\"ec-productRole__category\">
  1569.                             <div>{{ '関連カテゴリ'|trans }}</div>
  1570.                             {% for ProductCategory in Product.ProductCategories %}
  1571.                                 <ul>
  1572.                                     <li>
  1573.                                         {% for Category in ProductCategory.Category.path %}
  1574.                                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  1575.                                             <span>></span>{% endif -%}
  1576.                                         {% endfor %}
  1577.                                     </li>
  1578.                                 </ul>
  1579.                             {% endfor %}
  1580.                         </div>
  1581.                     {% endif %}
  1582.                     
  1583.                     {% if Product.Taste is not empty %}
  1584.                       <div id=\"taste_area\" class=\"ec-productRole__taste\" style=\"padding: 14px 0; border-bottom: 1px dotted #ccc;\">
  1585.                           {% if Product.taste_url is not empty %}
  1586.                               <p class=\"ec-taste\">{{ 'taste.admin.taste'|trans }}: <a href=\"{{ Product.taste_url }}\" target=\"_blank\">{{ Product.Taste.name }}</a></p>
  1587.                           {% else %}
  1588.                               <p class=\"ec-taste\">{{ 'taste.admin.taste'|trans }}: {{ Product.Taste.name }}</p>
  1589.                           {% endif %}
  1590.                       </div>
  1591.                     {% endif %}
  1592.                 </div>
  1593.             </div>
  1594.         </div>
  1595.     </div>
  1596.                 
  1597.                 
  1598.     
  1599.     {% if Product.freearea %}
  1600.     <div class=\"ec-descriptionRole\">
  1601.       <div class=\"ec-productRole__description\">
  1602.           {{ include(template_from_string(Product.freearea)) }}
  1603.       </div>
  1604.     </div>
  1605.     {% endif %}
  1606.     
  1607.         
  1608.         
  1609.     <div class=\"\" id=\"related_product_area\">
  1610.       <div class=\"ec-pageHeader\">
  1611.         <h3>関連アイテム</h3>
  1612.       </div>
  1613.       <div class=\"product_list\">
  1614.         <ul class=\"ec-shelfGrid\">
  1615.         {% set RelatedProducts = repository('Eccube\\\\Entity\\\\Product').getRelatedProducts(Product) %}
  1616.         {% for Product in RelatedProducts %}
  1617.         {{ include('Product/list_single_item.twig') }}
  1618.         {% endfor %}
  1619.         </ul>
  1620.       </div>
  1621.     </div>
  1622.       
  1623.         
  1624. {% endblock %}""Product/detail.twig""/home/univfukuoka3/web-srv.biz/public_html/kaiino/app/template/kaiino/Product/detail.twig");
  1625.     }
  1626. }