var/cache/dev/twig/d2/d262ea5432c55c6bf903de92f5f11b5351c7bf52ecb04bb196b441665e8b2a02.php line 16

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_c7875bea7f606c4c8706dc5a2346da913e458b7cf0f77f30dcf8fea6c1d72495 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 11
  31.         return "default_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  40.         // line 13
  41.         $context["body_class"] = "product_page";
  42.         // line 11
  43.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"11);
  44.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  47.         
  48.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "<style>
  60.     .c-detail-product__title {
  61.     color: #807245;
  62.  }
  63.  .c-detail-product__price-selling--number {
  64.     color: #f00;
  65. }
  66. .c-detail-product__price-selling--tax {
  67.     color: #f00;
  68. }
  69. .c-detail-product__code--label, .c-detail-product__price-normal--label {
  70.     color: #000;
  71. }
  72. .c-detail-product__code--number, .c-detail-product__price-normal--number {
  73.     color: #000;
  74. }
  75. .c-detail-product__price-normal--tax {
  76.     color: #000;
  77. }
  78. .c-button--unelevated.is-secondary {
  79.     background-color: #807245;
  80. }
  81. .c-detail-product__category-list-item a {
  82.     color: #807245;
  83. }
  84. .c-button--unelevated.is-primary {
  85.     background-color: #000;
  86. }
  87. </style>
  88. ";
  89.         
  90.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  91.         
  92.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  93.     }
  94.     // line 47
  95.     public function block_javascript($context, array $blocks = [])
  96.     {
  97.         $macros $this->macros;
  98.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  99.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  100.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  101.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  102.         // line 48
  103.         echo "    <script src=\"";
  104.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/eccube.js"), "html"nulltrue);
  105.         echo "\"></script>
  106.     <script src=\"https://cdn.jsdelivr.net/npm/swiper@5.3.6/js/swiper.min.js\" integrity=\"sha256-dwAIpWA5jmq1E3AHBeJDH86emZuOEMKZrZxNr9DJAQs=\" crossorigin=\"anonymous\"></script>
  107.     <script>
  108.         eccube.classCategories = ";
  109.         // line 51
  110.         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.'51$this->source); })()));
  111.         echo ";
  112.         // 規格2に選択肢を割り当てる。
  113.         function fnSetClassCategories(form, classcat_id2_selected) {
  114.             var \$form = \$(form);
  115.             var product_id = \$form.find('input[name=product_id]').val();
  116.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  117.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  118.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  119.         }
  120.         ";
  121.         // line 62
  122.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse62)) {
  123.             // line 63
  124.             echo "            fnSetClassCategories(
  125.                 \$('#form1'), ";
  126.             // line 64
  127.             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.'64$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse64), "vars", [], "any"falsefalsefalse64), "value", [], "any"falsefalsefalse64));
  128.             echo "
  129.             );
  130.         ";
  131.         } elseif (twig_get_attribute($this->env$this->source,         // line 66
  132. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse66)) {
  133.             // line 67
  134.             echo "            eccube.checkStock(\$('#form1'), ";
  135.             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.'67$this->source); })()), "id", [], "any"falsefalsefalse67), "html"nulltrue);
  136.             echo ", ";
  137.             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.'67$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse67), "vars", [], "any"falsefalsefalse67), "value", [], "any"falsefalsefalse67));
  138.             echo ", null);
  139.         ";
  140.         }
  141.         // line 69
  142.         echo "
  143.         \$(function() {
  144.             // bfcache無効化
  145.             \$(window).bind('pageshow', function(event) {
  146.                 if (event.originalEvent.persisted) {
  147.                     location.reload(true);
  148.                 }
  149.             });
  150.             \$('.add-cart').on('click', function(event) {
  151.                 ";
  152.         // line 79
  153.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse79)) {
  154.             // line 80
  155.             echo "                    // 規格1フォームの必須チェック
  156.                     if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  157.                         \$('#classcategory_id1')[0].setCustomValidity('";
  158.             // line 82
  159.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  160.             echo "');
  161.                         return true;
  162.                     } else {
  163.                         \$('#classcategory_id1')[0].setCustomValidity('');
  164.                     }
  165.                 ";
  166.         }
  167.         // line 88
  168.         echo "
  169.                 ";
  170.         // line 89
  171.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse89)) {
  172.             // line 90
  173.             echo "                    // 規格2フォームの必須チェック
  174.                     if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  175.                         \$('#classcategory_id2')[0].setCustomValidity('";
  176.             // line 92
  177.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  178.             echo "');
  179.                         return true;
  180.                     } else {
  181.                         \$('#classcategory_id2')[0].setCustomValidity('');
  182.                     }
  183.                 ";
  184.         }
  185.         // line 98
  186.         echo "
  187.                 // 個数フォームのチェック
  188.                 if (\$('#quantity').val() < 1) {
  189.                     \$('#quantity')[0].setCustomValidity('";
  190.         // line 101
  191.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  192.         echo "');
  193.                     return true;
  194.                 } else {
  195.                     \$('#quantity')[0].setCustomValidity('');
  196.                 }
  197.                 event.preventDefault();
  198.                 \$form = \$('#form1');
  199.                 \$.ajax({
  200.                     url: \$form.attr('action'),
  201.                     type: \$form.attr('method'),
  202.                     data: \$form.serialize(),
  203.                     dataType: 'json',
  204.                     beforeSend: function(xhr, settings) {
  205.                         // Buttonを無効にする
  206.                         \$('.add-cart').prop('disabled', true);
  207.                     }
  208.                 }).done(function(data) {
  209.                     // レスポンス内のメッセージをalertで表示
  210.                     \$.each(data.messages, function() {
  211.                         \$('#js-product__modal-message').html(this);
  212.                     });
  213.                     \$('.js-product__modal-checkbox').prop('checked', true);
  214.                     // カートブロックを更新する
  215.                     \$.ajax({
  216.                         url: \"";
  217.         // line 128
  218.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  219.         echo "\",
  220.                         type: 'GET',
  221.                         dataType: 'html'
  222.                     }).done(function(html) {
  223.                         \$('#js-header__utility-cart').html(html);
  224.                     });
  225.                 }).fail(function(data) {
  226.                     alert('";
  227.         // line 135
  228.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  229.         echo "');
  230.                 }).always(function(data) {
  231.                     // Buttonを有効にする
  232.                     \$('.add-cart').prop('disabled', false);
  233.                 });
  234.             });
  235.             var galleryThumbs = new Swiper('#js-detail-product__gallery-thumbs', {
  236.                 slidesPerView: 4,
  237.                 spaceBetween: 16,
  238.                 freeMode: true,
  239.                 watchSlidesVisibility: true,
  240.                 watchSlidesProgress: true
  241.             });
  242.             var galleryTop = new Swiper('#js-product__detail-gallery-slide', {
  243.                 slidesPerView: 1,
  244.                 spaceBetween: 20,
  245.                 thumbs: {
  246.                     swiper: galleryThumbs
  247.                 },
  248.                 pagination: {
  249.                     el: '#js-detail-product__gallery-pager-contents',
  250.                     clickable: true
  251.                 },
  252.                 breakpoints: {
  253.                     479: {
  254.                         slidesPerView: 1,
  255.                         spaceBetween: 16
  256.                     }
  257.                 }
  258.             });
  259.             bgHeight(\$('#js-detail-product__price'));
  260.         });
  261.         var resizeTimer = null;
  262.         \$(window).on('resize', function() {
  263.             clearTimeout(resizeTimer);
  264.             resizeTimer = setTimeout(function() {
  265.                 bgHeight(\$('#js-detail-product__price'));
  266.             }, 200);
  267.         });
  268.         function bgHeight(elem){
  269.             var elemOffsetTop = elem.offset().top,
  270.                 elemHeight = elem.outerHeight();
  271.             \$('#js-layout__body-bg').height(elemOffsetTop + elemHeight);
  272.         }
  273.     </script>
  274. ";
  275.         
  276.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  277.         
  278.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  279.     }
  280.     // line 190
  281.     public function block_main($context, array $blocks = [])
  282.     {
  283.         $macros $this->macros;
  284.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  285.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  286.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  287.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  288.         // line 191
  289.         echo "    <div class=\"p-product\">
  290.         <div class=\"p-product__contents\" id=\"js-product__contents\">
  291.             <div class=\"p-product__detail\" id=\"js-product__detail\">
  292.                 <article class=\"c-detail-product\">
  293.                     <div class=\"c-detail-product__gallery\">
  294.                         <div class=\"c-detail-product__gallery-slide\" id=\"js-product__detail-gallery-slide\">
  295.                             <div class=\"c-detail-product__gallery-slide-contents swiper-wrapper\">
  296.                                 ";
  297.         // line 198
  298.         $context['_parent'] = $context;
  299.         $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.'198$this->source); })()), "ProductImage", [], "any"falsefalsefalse198));
  300.         $context['_iterated'] = false;
  301.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  302.             // line 199
  303.             echo "                                    <div class=\"c-detail-product__gallery-slide-item swiper-slide\">
  304.                                         <div class=\"c-detail-product__image\">
  305.                                             <img class=\"c-detail-product__image-pic\" src=\"";
  306.             // line 201
  307.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  308.             echo "\" alt=\"";
  309.             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.'201$this->source); })()), "name", [], "any"falsefalsefalse201), "html"nulltrue);
  310.             echo "\">
  311.                                         </div>
  312.                                     </div>
  313.                                 ";
  314.             $context['_iterated'] = true;
  315.         }
  316.         if (!$context['_iterated']) {
  317.             // line 205
  318.             echo "                                    <div class=\"c-detail-product__gallery-slide-item swiper-slide\">
  319.                                         <div class=\"c-detail-product__image\">
  320.                                             <img class=\"c-detail-product__image-pic\" src=\"";
  321.             // line 207
  322.             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);
  323.             echo "\" alt=\"";
  324.             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.'207$this->source); })()), "name", [], "any"falsefalsefalse207), "html"nulltrue);
  325.             echo "\">
  326.                                         </div>
  327.                                     </div>
  328.                                 ";
  329.         }
  330.         $_parent $context['_parent'];
  331.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  332.         $context array_intersect_key($context$_parent) + $_parent;
  333.         // line 211
  334.         echo "                            </div>
  335.                         </div>
  336.                         <div class=\"c-detail-product__gallery-thumbs\" id=\"js-detail-product__gallery-thumbs\">
  337.                             <div class=\"c-detail-product__gallery-thumbs-contents swiper-wrapper\">
  338.                                 ";
  339.         // line 215
  340.         $context['_parent'] = $context;
  341.         $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.'215$this->source); })()), "ProductImage", [], "any"falsefalsefalse215));
  342.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  343.             // line 216
  344.             echo "                                    <div class=\"c-detail-product__gallery-thumbs-item swiper-slide\">
  345.                                         <div class=\"c-detail-product__image\">
  346.                                             <img class=\"c-detail-product__image-pic\" src=\"";
  347.             // line 218
  348.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  349.             echo "\" alt=\"";
  350.             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);
  351.             echo "\">
  352.                                         </div>
  353.                                     </div>
  354.                                 ";
  355.         }
  356.         $_parent $context['_parent'];
  357.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  358.         $context array_intersect_key($context$_parent) + $_parent;
  359.         // line 222
  360.         echo "                            </div>
  361.                         </div>
  362.                         <div class=\"c-detail-product__gallery-pager\">
  363.                             <div class=\"c-detail-product__gallery-pager-contents\" id=\"js-detail-product__gallery-pager-contents\"></div>
  364.                         </div>
  365.                     </div>
  366.                     <div class=\"c-detail-product__profile\">
  367.                         <div class=\"c-detail-product__profile-layout\">
  368.                             ";
  369.         // line 232
  370.         echo "                            ";
  371.         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.'232$this->source); })()), "Tags", [], "any"falsefalsefalse232))) {
  372.             // line 233
  373.             echo "                                <div class=\"c-detail-product__profile-layout-item\">
  374.                                     <div class=\"c-detail-product__tag\">
  375.                                         <ul class=\"c-detail-product__tag-list\">
  376.                                             ";
  377.             // line 236
  378.             $context['_parent'] = $context;
  379.             $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.'236$this->source); })()), "Tags", [], "any"falsefalsefalse236));
  380.             foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  381.                 // line 237
  382.                 echo "                                                <li class=\"c-detail-product__tag-list-item\" id=\"c-detail-product__tag-list-item--";
  383.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse237), "html"nulltrue);
  384.                 echo "\">
  385.                                                     <span class=\"c-detail-product__tag-text\">";
  386.                 // line 238
  387.                 echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  388.                 echo "</span>
  389.                                                 </li>
  390.                                             ";
  391.             }
  392.             $_parent $context['_parent'];
  393.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  394.             $context array_intersect_key($context$_parent) + $_parent;
  395.             // line 241
  396.             echo "                                        </ul>
  397.                                     </div>
  398.                                 </div>
  399.                             ";
  400.         }
  401.         // line 245
  402.         echo "<!--
  403.                             <div class=\"c-detail-product__profile-layout-item\">
  404.                                 <div class=\"c-detail-product__favorite\">
  405.                                     ";
  406.         // line 249
  407.         echo "                                    ";
  408.         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.'249$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse249)) {
  409.             // line 250
  410.             echo "                                        <form action=\"";
  411.             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.'250$this->source); })()), "id", [], "any"falsefalsefalse250)]), "html"nulltrue);
  412.             echo "\" method=\"post\">
  413.                                             ";
  414.             // line 251
  415.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'251$this->source); })()) == false)) {
  416.                 // line 252
  417.                 echo "                                                <button class=\"c-detail-product__favorite-button c-ripple-surface mdc-ripple-surface\" type=\"submit\" id=\"favorite\">
  418.                                                     <i class=\"c-detail-product__favorite-button-icon material-icons\">favorite_border</i>
  419.                                                 </button>
  420.                                             ";
  421.             } else {
  422.                 // line 256
  423.                 echo "                                                <button class=\"c-detail-product__favorite-button is-disabled c-ripple-surface mdc-ripple-surface\" type=\"submit\" id=\"favorite\" disabled=\"disabled\">
  424.                                                     <i class=\"c-detail-product__favorite-button-icon material-icons\">favorite</i>
  425.                                                 </button>
  426.                                             ";
  427.             }
  428.             // line 260
  429.             echo "                                        </form>
  430.                                     ";
  431.         }
  432.         // line 262
  433.         echo "                                </div>
  434.                             </div>
  435.                 -->
  436.                         </div>
  437.                         ";
  438.         // line 268
  439.         echo "                        <h1 class=\"c-detail-product__title\">";
  440.         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.'268$this->source); })()), "name", [], "any"falsefalsefalse268), "html"nulltrue);
  441.         echo "</h1>
  442.                         ";
  443.         // line 270
  444.         echo "                        ";
  445.         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.'270$this->source); })()), "code_min", [], "any"falsefalsefalse270))) {
  446.             // line 271
  447.             echo "                            <div class=\"c-detail-product__code\">
  448.                                 <span class=\"c-detail-product__code--label\">";
  449.             // line 272
  450.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html"nulltrue);
  451.             echo "</span>
  452.                                 <span class=\"c-detail-product__code--number product-code-default\">";
  453.             // line 273
  454.             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.'273$this->source); })()), "code_min", [], "any"falsefalsefalse273), "html"nulltrue);
  455.             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.'273$this->source); })()), "code_min", [], "any"falsefalsefalse273) != 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.'273$this->source); })()), "code_max", [], "any"falsefalsefalse273))) {
  456.                 echo " ~ ";
  457.                 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.'273$this->source); })()), "code_max", [], "any"falsefalsefalse273), "html"nulltrue);
  458.             }
  459.             echo "</span>
  460.                             </div>
  461.                         ";
  462.         }
  463.         // line 276
  464.         echo "                        <div class=\"c-detail-product__price\" id=\"js-detail-product__price\">
  465.                             ";
  466.         // line 278
  467.         echo "                            <div class=\"c-detail-product__price-normal\">
  468.                                 ";
  469.         // line 279
  470.         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.'279$this->source); })()), "hasProductClass", [], "any"falsefalsefalse279)) {
  471.             // line 280
  472.             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.'280$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse280)) && (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'280$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse280) == twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'280$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse280)))) {
  473.                 // line 281
  474.                 echo "                                        <span class=\"c-detail-product__price-normal--label\">";
  475.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  476.                 echo "</span>
  477.                                         <span class=\"c-detail-product__price-normal--number price01-default\">";
  478.                 // line 282
  479.                 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.'282$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse282)), "html"nulltrue);
  480.                 echo "</span>
  481.                                         <span class=\"c-detail-product__price-normal--tax\">";
  482.                 // line 283
  483.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  484.                 echo "</span>
  485.                                     ";
  486.             } elseif (( !(null === twig_get_attribute($this->env$this->source,             // line 284
  487. (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'284$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse284)) &&  !(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.'284$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse284)))) {
  488.                 // line 285
  489.                 echo "                                        <span class=\"c-detail-product__price-normal--label\">";
  490.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  491.                 echo "</span>
  492.                                         <span class=\"c-detail-product__price-normal--number price01-default\">";
  493.                 // line 286
  494.                 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.'286$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse286)), "html"nulltrue);
  495.                 echo " ~ ";
  496.                 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.'286$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse286)), "html"nulltrue);
  497.                 echo "</span>
  498.                                         <span class=\"c-detail-product__price-normal--tax\">";
  499.                 // line 287
  500.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  501.                 echo "</span>
  502.                                     ";
  503.             }
  504.             // line 289
  505.             echo "                                ";
  506.         } else {
  507.             // line 290
  508.             echo "                                    ";
  509.             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.'290$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse290))) {
  510.                 // line 291
  511.                 echo "                                        <span class=\"c-detail-product__price-normal--label\">";
  512.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  513.                 echo "</span>
  514.                                         <span class=\"c-detail-product__price-normal--number\">";
  515.                 // line 292
  516.                 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.'292$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse292)), "html"nulltrue);
  517.                 echo "</span>
  518.                                         <span class=\"c-detail-product__price-normal--tax\">";
  519.                 // line 293
  520.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  521.                 echo "</span>
  522.                                     ";
  523.             }
  524.             // line 295
  525.             echo "                                ";
  526.         }
  527.         // line 296
  528.         echo "                            </div>
  529.                             ";
  530.         // line 298
  531.         echo "                            <div class=\"c-detail-product__price-selling\">
  532.                                 ";
  533.         // line 299
  534.         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.'299$this->source); })()), "hasProductClass", [], "any"falsefalsefalse299)) {
  535.             // line 300
  536.             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.'300$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse300) == 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.'300$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse300))) {
  537.                 // line 301
  538.                 echo "                                        <span class=\"c-detail-product__price-selling--number price02-default\">";
  539.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'301$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse301)), "html"nulltrue);
  540.                 echo "</span>
  541.                                         <span class=\"c-detail-product__price-selling--tax\">";
  542.                 // line 302
  543.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  544.                 echo "</span>
  545.                                     ";
  546.             } else {
  547.                 // line 304
  548.                 echo "                                        <span class=\"c-detail-product__price-selling--number price02-default\">";
  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.'304$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse304)), "html"nulltrue);
  550.                 echo " ~ ";
  551.                 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.'304$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse304)), "html"nulltrue);
  552.                 echo "</span>
  553.                                         <span class=\"c-detail-product__price-selling--tax\">";
  554.                 // line 305
  555.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  556.                 echo "</span>
  557.                                     ";
  558.             }
  559.             // line 307
  560.             echo "                                ";
  561.         } else {
  562.             // line 308
  563.             echo "                                    <span class=\"c-detail-product__price-selling--number\">";
  564.             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.'308$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse308)), "html"nulltrue);
  565.             echo "</span>
  566.                                     <span class=\"c-detail-product__price-selling--tax\">";
  567.             // line 309
  568.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("(税込)"), "html"nulltrue);
  569.             echo "</span>
  570.                                 ";
  571.         }
  572.         // line 311
  573.         echo "                            </div>
  574.                         </div>
  575.                         ";
  576.         // line 314
  577.         echo "                        ";
  578.         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.'314$this->source); })()), "ProductCategories", [], "any"falsefalsefalse314))) {
  579.             // line 315
  580.             echo "                            <dl class=\"c-detail-product__category\">
  581.                                 <dt class=\"c-detail-product__category-label\">";
  582.             // line 316
  583.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("関連カテゴリ"), "html"nulltrue);
  584.             echo "</dt>
  585.                                 <dd class=\"c-detail-product__category-detail\">
  586.                                     ";
  587.             // line 318
  588.             $context['_parent'] = $context;
  589.             $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.'318$this->source); })()), "ProductCategories", [], "any"falsefalsefalse318));
  590.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  591.                 // line 319
  592.                 echo "                                        <ul class=\"c-detail-product__category-list u-list-sanitize\">
  593.                                             ";
  594.                 // line 320
  595.                 $context['_parent'] = $context;
  596.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse320), "path", [], "any"falsefalsefalse320));
  597.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  598.                     // line 321
  599.                     echo "                                                <li class=\"c-detail-product__category-list-item\">
  600.                                                     <a class=\"c-detail-product__category-link\" href=\"";
  601.                     // line 322
  602.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  603.                     echo "?category_id=";
  604.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse322), "html"nulltrue);
  605.                     echo "\">";
  606.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse322), "html"nulltrue);
  607.                     echo "</a>
  608.                                                 </li>
  609.                                             ";
  610.                 }
  611.                 $_parent $context['_parent'];
  612.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  613.                 $context array_intersect_key($context$_parent) + $_parent;
  614.                 // line 325
  615.                 echo "                                        </ul>
  616.                                     ";
  617.             }
  618.             $_parent $context['_parent'];
  619.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  620.             $context array_intersect_key($context$_parent) + $_parent;
  621.             // line 327
  622.             echo "                                </dd>
  623.                             </dl>
  624.                         ";
  625.         }
  626.         // line 330
  627.         echo "
  628.                         <form action=\"";
  629.         // line 331
  630.         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.'331$this->source); })()), "id", [], "any"falsefalsefalse331)]), "html"nulltrue);
  631.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  632.                             ";
  633.         // line 332
  634.         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.'332$this->source); })()), "stock_find", [], "any"falsefalsefalse332)) {
  635.             // line 333
  636.             echo "                                ";
  637.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse333)) {
  638.                 // line 334
  639.                 echo "                                    <div class=\"c-detail-product__form-box\">
  640.                                         <div class=\"c-detail-product__form-box-item\">
  641.                                             <div class=\"c-select mdc-select mdc-select--outlined\">
  642.                                                 <i class=\"mdc-select__dropdown-icon\"></i>
  643.                                                 ";
  644.                 // line 338
  645.                 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.'338$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse338), 'widget', ["attr" => ["class" => "c-select__native-control mdc-select__native-control"]]);
  646.                 echo "
  647.                                                 <div class=\"mdc-notched-outline\">
  648.                                                     <div class=\"mdc-notched-outline__leading\"></div>
  649.                                                     <div class=\"mdc-notched-outline__notch\"></div>
  650.                                                     <div class=\"mdc-notched-outline__trailing\"></div>
  651.                                                 </div>
  652.                                             </div>
  653.                                             ";
  654.                 // line 345
  655.                 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.'345$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse345), 'errors', ["label_attr" => ["class" => "mdc-select-helper-text mdc-select-helper-text--validation-msg"]]);
  656.                 echo "
  657.                                         </div>
  658.                                     </div>
  659.                                     ";
  660.                 // line 348
  661.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse348)) {
  662.                     // line 349
  663.                     echo "                                        <div class=\"c-detail-product__form-box\">
  664.                                             <div class=\"c-detail-product__form-box-item\">
  665.                                                 <div class=\"c-select mdc-select mdc-select--outlined\">
  666.                                                     <i class=\"mdc-select__dropdown-icon\"></i>
  667.                                                     ";
  668.                     // line 353
  669.                     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.'353$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse353), 'widget', ["attr" => ["class" => "c-select__native-control mdc-select__native-control"]]);
  670.                     echo "
  671.                                                     <div class=\"mdc-notched-outline\">
  672.                                                         <div class=\"mdc-notched-outline__leading\"></div>
  673.                                                         <div class=\"mdc-notched-outline__notch\"></div>
  674.                                                         <div class=\"mdc-notched-outline__trailing\"></div>
  675.                                                     </div>
  676.                                                 </div>
  677.                                                 ";
  678.                     // line 360
  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.'360$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse360), 'errors', ["label_attr" => ["class" => "mdc-select-helper-text mdc-select-helper-text--validation-msg"]]);
  680.                     echo "
  681.                                             </div>
  682.                                         </div>
  683.                                     ";
  684.                 }
  685.                 // line 364
  686.                 echo "                                ";
  687.             }
  688.             // line 365
  689.             echo "                                <div class=\"c-detail-product__form-box\">
  690.                                     <div class=\"c-detail-product__form-box-item\">
  691.                                         <div class=\"c-text-field mdc-text-field mdc-text-field--outlined";
  692.             // line 367
  693.             echo (($this->extensions['Eccube\Twig\Extension\EccubeExtension']->hasErrors(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.'367$this->source); })()), "quantity", [], "any"falsefalsefalse367))) ? (" mdc-text-field--invalid") : (""));
  694.             echo "\">
  695.                                             ";
  696.             // line 368
  697.             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.'368$this->source); })()), "quantity", [], "any"falsefalsefalse368), 'widget', ["attr" => ["class" => "c-text-field__input mdc-text-field__input"]]);
  698.             echo "
  699.                                             <div class=\"mdc-notched-outline\">
  700.                                                 <div class=\"mdc-notched-outline__leading\"></div>
  701.                                                 <div class=\"mdc-notched-outline__notch\">
  702.                                                     <label class=\"c-floating-label mdc-floating-label\" for=\"quantity\">";
  703.             // line 372
  704.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  705.             echo "</label>
  706.                                                 </div>
  707.                                                 <div class=\"mdc-notched-outline__trailing\"></div>
  708.                                             </div>
  709.                                         </div>
  710.                                         ";
  711.             // line 377
  712.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'377$this->source); })()), "quantity", [], "any"falsefalsefalse377), 'errors', ["label_attr" => ["class" => "mdc-text-field-helper-text mdc-text-field-helper-text--validation-msg"]]);
  713.             echo "
  714.                                     </div>
  715.                                 </div>
  716.                                 <div class=\"c-detail-product__actions\">
  717.                                     <div class=\"c-detail-product__actions-item\">
  718.                                         <button class=\"c-button is-secondary c-button--unelevated mdc-button mdc-button--unelevated add-cart\" type=\"submit\">
  719.                                             <span class=\"c-detail-product__button-label\">";
  720.             // line 383
  721.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  722.             echo "</span>
  723.                                         </button>
  724.                                     </div>
  725.                                 </div>
  726.                             ";
  727.         } else {
  728.             // line 388
  729.             echo "                                <div class=\"c-detail-product__actions\">
  730.                                     <div class=\"c-detail-product__actions-item\">
  731.                                         <button class=\"c-button c-button--unelevated mdc-button mdc-button--unelevated\" type=\"button\" disabled=\"disabled\">
  732.                                             <span class=\"c-detail-product__button-label\">";
  733.             // line 391
  734.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("SOLD OUT"), "html"nulltrue);
  735.             echo "</span>
  736.                                         </button>
  737.                                     </div>
  738.                                 </div>
  739.                             ";
  740.         }
  741.         // line 396
  742.         echo "
  743.                             ";
  744.         // line 397
  745.         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.'397$this->source); })()), 'rest');
  746.         echo "
  747.                         </form>
  748.                         <div class=\"p-product__modal\">
  749.                             <input class=\"p-product__modal-checkbox js-product__modal-checkbox\" id=\"p-product__modal-checkbox\" type=\"checkbox\">
  750.                             <div class=\"p-product__modal-overlay\">
  751.                                 <label class=\"p-product__modal-overlay-close\" for=\"p-product__modal-checkbox\"></label>
  752.                                 <div class=\"p-product__modal-contents\">
  753.                                     <label class=\"p-product__modal-close\" for=\"p-product__modal-checkbox\">
  754.                                         <i class=\"p-product__modal-close-icon material-icons\">close</i>
  755.                                     </label>
  756.                                     <div class=\"p-product__modal-header\">
  757.                                         <p class=\"p-product__modal-message\" id=\"js-product__modal-message\">";
  758.         // line 409
  759.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  760.         echo "</p>
  761.                                     </div>
  762.                                     <div class=\"p-product__modal-actions\">
  763.                                         <div class=\"p-product__modal-actions-item\">
  764.                                             <a class=\"p-product__modal-button c-button c-button--unelevated is-secondary mdc-button mdc-button--unelevated\" href=\"";
  765.         // line 413
  766.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  767.         echo "\">
  768.                                                 <span class=\"c-button__label mdc-button__label\">";
  769.         // line 414
  770.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  771.         echo "</span>
  772.                                             </a>
  773.                                         </div>
  774.                                         <div class=\"p-product__modal-actions-item\">
  775.                                             <label class=\"p-product__modal-button c-button c-button--unelevated is-primary mdc-button mdc-button--unelevated\" for=\"p-product__modal-checkbox\">
  776.                                                 <span class=\"c-button__label mdc-button__label\">";
  777.         // line 419
  778.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  779.         echo "</span>
  780.                                             </label>
  781.                                         </div>
  782.                                     </div>
  783.                                 </div>
  784.                             </div>
  785.                         </div>
  786.                         ";
  787.         // line 428
  788.         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.'428$this->source); })()), "description_detail", [], "any"falsefalsefalse428)) {
  789.             // line 429
  790.             echo "                            <div class=\"c-detail-product__comment\">";
  791.             echo 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.'429$this->source); })()), "description_detail", [], "any"falsefalsefalse429));
  792.             echo "</div>
  793.                         ";
  794.         }
  795.         // line 431
  796.         echo "
  797.                         ";
  798.         // line 432
  799.         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.'432$this->source); })()), "freearea", [], "any"falsefalsefalse432)) {
  800.             // line 433
  801.             echo "                            ";
  802.             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.'433$this->source); })()), "freearea", [], "any"falsefalsefalse433)));
  803.             echo "
  804.                         ";
  805.         }
  806.         // line 435
  807.         echo "
  808.                     </div>
  809.                 </article>
  810.             </div>
  811.         </div>
  812.     </div>
  813. ";
  814.         
  815.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  816.         
  817.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  818.     }
  819.     public function getTemplateName()
  820.     {
  821.         return "Product/detail.twig";
  822.     }
  823.     public function isTraitable()
  824.     {
  825.         return false;
  826.     }
  827.     public function getDebugInfo()
  828.     {
  829.         return array (  850 => 435,  844 => 433,  842 => 432,  839 => 431,  833 => 429,  831 => 428,  819 => 419,  811 => 414,  807 => 413,  800 => 409,  785 => 397,  782 => 396,  774 => 391,  769 => 388,  761 => 383,  752 => 377,  744 => 372,  737 => 368,  733 => 367,  729 => 365,  726 => 364,  719 => 360,  709 => 353,  703 => 349,  701 => 348,  695 => 345,  685 => 338,  679 => 334,  676 => 333,  674 => 332,  670 => 331,  667 => 330,  662 => 327,  655 => 325,  642 => 322,  639 => 321,  635 => 320,  632 => 319,  628 => 318,  623 => 316,  620 => 315,  617 => 314,  613 => 311,  608 => 309,  603 => 308,  600 => 307,  595 => 305,  588 => 304,  583 => 302,  578 => 301,  576 => 300,  574 => 299,  571 => 298,  568 => 296,  565 => 295,  560 => 293,  556 => 292,  551 => 291,  548 => 290,  545 => 289,  540 => 287,  534 => 286,  529 => 285,  527 => 284,  523 => 283,  519 => 282,  514 => 281,  512 => 280,  510 => 279,  507 => 278,  504 => 276,  494 => 273,  490 => 272,  487 => 271,  484 => 270,  479 => 268,  472 => 262,  468 => 260,  462 => 256,  456 => 252,  454 => 251,  449 => 250,  446 => 249,  441 => 245,  435 => 241,  426 => 238,  421 => 237,  417 => 236,  412 => 233,  409 => 232,  398 => 222,  386 => 218,  382 => 216,  378 => 215,  372 => 211,  360 => 207,  356 => 205,  345 => 201,  341 => 199,  336 => 198,  327 => 191,  317 => 190,  253 => 135,  243 => 128,  213 => 101,  208 => 98,  199 => 92,  195 => 90,  193 => 89,  190 => 88,  181 => 82,  177 => 80,  175 => 79,  163 => 69,  155 => 67,  153 => 66,  148 => 64,  145 => 63,  143 => 62,  129 => 51,  122 => 48,  112 => 47,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  830.     }
  831.     public function getSourceContext()
  832.     {
  833.         return new Source("{#
  834. This file is part of EC-CUBE
  835. Copyright(c) LOCKON CO.,LTD. All Rights Reserved.
  836. http://www.lockon.co.jp/
  837. For the full copyright and license information, please view the LICENSE
  838. file that was distributed with this source code.
  839. #}
  840. {% extends 'default_frame.twig' %}
  841. {% set body_class = 'product_page' %}
  842. {% block stylesheet %}
  843. <style>
  844.     .c-detail-product__title {
  845.     color: #807245;
  846.  }
  847.  .c-detail-product__price-selling--number {
  848.     color: #f00;
  849. }
  850. .c-detail-product__price-selling--tax {
  851.     color: #f00;
  852. }
  853. .c-detail-product__code--label, .c-detail-product__price-normal--label {
  854.     color: #000;
  855. }
  856. .c-detail-product__code--number, .c-detail-product__price-normal--number {
  857.     color: #000;
  858. }
  859. .c-detail-product__price-normal--tax {
  860.     color: #000;
  861. }
  862. .c-button--unelevated.is-secondary {
  863.     background-color: #807245;
  864. }
  865. .c-detail-product__category-list-item a {
  866.     color: #807245;
  867. }
  868. .c-button--unelevated.is-primary {
  869.     background-color: #000;
  870. }
  871. </style>
  872. {% endblock %}
  873. {% block javascript %}
  874.     <script src=\"{{ asset('assets/js/eccube.js') }}\"></script>
  875.     <script src=\"https://cdn.jsdelivr.net/npm/swiper@5.3.6/js/swiper.min.js\" integrity=\"sha256-dwAIpWA5jmq1E3AHBeJDH86emZuOEMKZrZxNr9DJAQs=\" crossorigin=\"anonymous\"></script>
  876.     <script>
  877.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  878.         // 規格2に選択肢を割り当てる。
  879.         function fnSetClassCategories(form, classcat_id2_selected) {
  880.             var \$form = \$(form);
  881.             var product_id = \$form.find('input[name=product_id]').val();
  882.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  883.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  884.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  885.         }
  886.         {% if form.classcategory_id2 is defined %}
  887.             fnSetClassCategories(
  888.                 \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  889.             );
  890.         {% elseif form.classcategory_id1 is defined %}
  891.             eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  892.         {% endif %}
  893.         \$(function() {
  894.             // bfcache無効化
  895.             \$(window).bind('pageshow', function(event) {
  896.                 if (event.originalEvent.persisted) {
  897.                     location.reload(true);
  898.                 }
  899.             });
  900.             \$('.add-cart').on('click', function(event) {
  901.                 {% if form.classcategory_id1 is defined %}
  902.                     // 規格1フォームの必須チェック
  903.                     if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  904.                         \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  905.                         return true;
  906.                     } else {
  907.                         \$('#classcategory_id1')[0].setCustomValidity('');
  908.                     }
  909.                 {% endif %}
  910.                 {% if form.classcategory_id2 is defined %}
  911.                     // 規格2フォームの必須チェック
  912.                     if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  913.                         \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  914.                         return true;
  915.                     } else {
  916.                         \$('#classcategory_id2')[0].setCustomValidity('');
  917.                     }
  918.                 {% endif %}
  919.                 // 個数フォームのチェック
  920.                 if (\$('#quantity').val() < 1) {
  921.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  922.                     return true;
  923.                 } else {
  924.                     \$('#quantity')[0].setCustomValidity('');
  925.                 }
  926.                 event.preventDefault();
  927.                 \$form = \$('#form1');
  928.                 \$.ajax({
  929.                     url: \$form.attr('action'),
  930.                     type: \$form.attr('method'),
  931.                     data: \$form.serialize(),
  932.                     dataType: 'json',
  933.                     beforeSend: function(xhr, settings) {
  934.                         // Buttonを無効にする
  935.                         \$('.add-cart').prop('disabled', true);
  936.                     }
  937.                 }).done(function(data) {
  938.                     // レスポンス内のメッセージをalertで表示
  939.                     \$.each(data.messages, function() {
  940.                         \$('#js-product__modal-message').html(this);
  941.                     });
  942.                     \$('.js-product__modal-checkbox').prop('checked', true);
  943.                     // カートブロックを更新する
  944.                     \$.ajax({
  945.                         url: \"{{ url('block_cart') }}\",
  946.                         type: 'GET',
  947.                         dataType: 'html'
  948.                     }).done(function(html) {
  949.                         \$('#js-header__utility-cart').html(html);
  950.                     });
  951.                 }).fail(function(data) {
  952.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  953.                 }).always(function(data) {
  954.                     // Buttonを有効にする
  955.                     \$('.add-cart').prop('disabled', false);
  956.                 });
  957.             });
  958.             var galleryThumbs = new Swiper('#js-detail-product__gallery-thumbs', {
  959.                 slidesPerView: 4,
  960.                 spaceBetween: 16,
  961.                 freeMode: true,
  962.                 watchSlidesVisibility: true,
  963.                 watchSlidesProgress: true
  964.             });
  965.             var galleryTop = new Swiper('#js-product__detail-gallery-slide', {
  966.                 slidesPerView: 1,
  967.                 spaceBetween: 20,
  968.                 thumbs: {
  969.                     swiper: galleryThumbs
  970.                 },
  971.                 pagination: {
  972.                     el: '#js-detail-product__gallery-pager-contents',
  973.                     clickable: true
  974.                 },
  975.                 breakpoints: {
  976.                     479: {
  977.                         slidesPerView: 1,
  978.                         spaceBetween: 16
  979.                     }
  980.                 }
  981.             });
  982.             bgHeight(\$('#js-detail-product__price'));
  983.         });
  984.         var resizeTimer = null;
  985.         \$(window).on('resize', function() {
  986.             clearTimeout(resizeTimer);
  987.             resizeTimer = setTimeout(function() {
  988.                 bgHeight(\$('#js-detail-product__price'));
  989.             }, 200);
  990.         });
  991.         function bgHeight(elem){
  992.             var elemOffsetTop = elem.offset().top,
  993.                 elemHeight = elem.outerHeight();
  994.             \$('#js-layout__body-bg').height(elemOffsetTop + elemHeight);
  995.         }
  996.     </script>
  997. {% endblock %}
  998. {% block main %}
  999.     <div class=\"p-product\">
  1000.         <div class=\"p-product__contents\" id=\"js-product__contents\">
  1001.             <div class=\"p-product__detail\" id=\"js-product__detail\">
  1002.                 <article class=\"c-detail-product\">
  1003.                     <div class=\"c-detail-product__gallery\">
  1004.                         <div class=\"c-detail-product__gallery-slide\" id=\"js-product__detail-gallery-slide\">
  1005.                             <div class=\"c-detail-product__gallery-slide-contents swiper-wrapper\">
  1006.                                 {% for ProductImage in Product.ProductImage %}
  1007.                                     <div class=\"c-detail-product__gallery-slide-item swiper-slide\">
  1008.                                         <div class=\"c-detail-product__image\">
  1009.                                             <img class=\"c-detail-product__image-pic\" src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ Product.name }}\">
  1010.                                         </div>
  1011.                                     </div>
  1012.                                 {% else %}
  1013.                                     <div class=\"c-detail-product__gallery-slide-item swiper-slide\">
  1014.                                         <div class=\"c-detail-product__image\">
  1015.                                             <img class=\"c-detail-product__image-pic\" src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\">
  1016.                                         </div>
  1017.                                     </div>
  1018.                                 {% endfor %}
  1019.                             </div>
  1020.                         </div>
  1021.                         <div class=\"c-detail-product__gallery-thumbs\" id=\"js-detail-product__gallery-thumbs\">
  1022.                             <div class=\"c-detail-product__gallery-thumbs-contents swiper-wrapper\">
  1023.                                 {% for ProductImage in Product.ProductImage %}
  1024.                                     <div class=\"c-detail-product__gallery-thumbs-item swiper-slide\">
  1025.                                         <div class=\"c-detail-product__image\">
  1026.                                             <img class=\"c-detail-product__image-pic\" src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ Product.name }}\">
  1027.                                         </div>
  1028.                                     </div>
  1029.                                 {% endfor %}
  1030.                             </div>
  1031.                         </div>
  1032.                         <div class=\"c-detail-product__gallery-pager\">
  1033.                             <div class=\"c-detail-product__gallery-pager-contents\" id=\"js-detail-product__gallery-pager-contents\"></div>
  1034.                         </div>
  1035.                     </div>
  1036.                     <div class=\"c-detail-product__profile\">
  1037.                         <div class=\"c-detail-product__profile-layout\">
  1038.                             {# タグ #}
  1039.                             {% if Product.Tags is not empty %}
  1040.                                 <div class=\"c-detail-product__profile-layout-item\">
  1041.                                     <div class=\"c-detail-product__tag\">
  1042.                                         <ul class=\"c-detail-product__tag-list\">
  1043.                                             {% for Tag in Product.Tags %}
  1044.                                                 <li class=\"c-detail-product__tag-list-item\" id=\"c-detail-product__tag-list-item--{{ Tag.id }}\">
  1045.                                                     <span class=\"c-detail-product__tag-text\">{{ Tag }}</span>
  1046.                                                 </li>
  1047.                                             {% endfor %}
  1048.                                         </ul>
  1049.                                     </div>
  1050.                                 </div>
  1051.                             {% endif %}
  1052. <!--
  1053.                             <div class=\"c-detail-product__profile-layout-item\">
  1054.                                 <div class=\"c-detail-product__favorite\">
  1055.                                     {# お気に入り #}
  1056.                                     {% if BaseInfo.option_favorite_product %}
  1057.                                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1058.                                             {% if is_favorite == false %}
  1059.                                                 <button class=\"c-detail-product__favorite-button c-ripple-surface mdc-ripple-surface\" type=\"submit\" id=\"favorite\">
  1060.                                                     <i class=\"c-detail-product__favorite-button-icon material-icons\">favorite_border</i>
  1061.                                                 </button>
  1062.                                             {% else %}
  1063.                                                 <button class=\"c-detail-product__favorite-button is-disabled c-ripple-surface mdc-ripple-surface\" type=\"submit\" id=\"favorite\" disabled=\"disabled\">
  1064.                                                     <i class=\"c-detail-product__favorite-button-icon material-icons\">favorite</i>
  1065.                                                 </button>
  1066.                                             {% endif %}
  1067.                                         </form>
  1068.                                     {% endif %}
  1069.                                 </div>
  1070.                             </div>
  1071.                 -->
  1072.                         </div>
  1073.                         {# 商品名 #}
  1074.                         <h1 class=\"c-detail-product__title\">{{ Product.name }}</h1>
  1075.                         {# 商品コード #}
  1076.                         {% if Product.code_min is not empty %}
  1077.                             <div class=\"c-detail-product__code\">
  1078.                                 <span class=\"c-detail-product__code--label\">{{ '商品コード'|trans }}</span>
  1079.                                 <span class=\"c-detail-product__code--number product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1080.                             </div>
  1081.                         {% endif %}
  1082.                         <div class=\"c-detail-product__price\" id=\"js-detail-product__price\">
  1083.                             {# 通常価格 #}
  1084.                             <div class=\"c-detail-product__price-normal\">
  1085.                                 {% if Product.hasProductClass -%}
  1086.                                     {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  1087.                                         <span class=\"c-detail-product__price-normal--label\">{{ '通常価格'|trans }}</span>
  1088.                                         <span class=\"c-detail-product__price-normal--number price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span>
  1089.                                         <span class=\"c-detail-product__price-normal--tax\">{{ '(税込)'|trans }}</span>
  1090.                                     {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  1091.                                         <span class=\"c-detail-product__price-normal--label\">{{ '通常価格'|trans }}</span>
  1092.                                         <span class=\"c-detail-product__price-normal--number price01-default\">{{ Product.getPrice01IncTaxMin|price }} ~ {{ Product.getPrice01IncTaxMax|price }}</span>
  1093.                                         <span class=\"c-detail-product__price-normal--tax\">{{ '(税込)'|trans }}</span>
  1094.                                     {% endif %}
  1095.                                 {% else %}
  1096.                                     {% if Product.getPrice01Max is not null %}
  1097.                                         <span class=\"c-detail-product__price-normal--label\">{{ '通常価格'|trans }}</span>
  1098.                                         <span class=\"c-detail-product__price-normal--number\">{{ Product.getPrice01IncTaxMin|price }}</span>
  1099.                                         <span class=\"c-detail-product__price-normal--tax\">{{ '(税込)'|trans }}</span>
  1100.                                     {% endif %}
  1101.                                 {% endif %}
  1102.                             </div>
  1103.                             {# 販売価格 #}
  1104.                             <div class=\"c-detail-product__price-selling\">
  1105.                                 {% if Product.hasProductClass -%}
  1106.                                     {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1107.                                         <span class=\"c-detail-product__price-selling--number price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1108.                                         <span class=\"c-detail-product__price-selling--tax\">{{ '(税込)'|trans }}</span>
  1109.                                     {% else %}
  1110.                                         <span class=\"c-detail-product__price-selling--number price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1111.                                         <span class=\"c-detail-product__price-selling--tax\">{{ '(税込)'|trans }}</span>
  1112.                                     {% endif %}
  1113.                                 {% else %}
  1114.                                     <span class=\"c-detail-product__price-selling--number\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1115.                                     <span class=\"c-detail-product__price-selling--tax\">{{ '(税込)'|trans }}</span>
  1116.                                 {% endif %}
  1117.                             </div>
  1118.                         </div>
  1119.                         {# 関連カテゴリ #}
  1120.                         {% if Product.ProductCategories is not empty %}
  1121.                             <dl class=\"c-detail-product__category\">
  1122.                                 <dt class=\"c-detail-product__category-label\">{{ '関連カテゴリ'|trans }}</dt>
  1123.                                 <dd class=\"c-detail-product__category-detail\">
  1124.                                     {% for ProductCategory in Product.ProductCategories %}
  1125.                                         <ul class=\"c-detail-product__category-list u-list-sanitize\">
  1126.                                             {% for Category in ProductCategory.Category.path %}
  1127.                                                 <li class=\"c-detail-product__category-list-item\">
  1128.                                                     <a class=\"c-detail-product__category-link\" href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a>
  1129.                                                 </li>
  1130.                                             {% endfor %}
  1131.                                         </ul>
  1132.                                     {% endfor %}
  1133.                                 </dd>
  1134.                             </dl>
  1135.                         {% endif %}
  1136.                         <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1137.                             {% if Product.stock_find %}
  1138.                                 {% if form.classcategory_id1 is defined %}
  1139.                                     <div class=\"c-detail-product__form-box\">
  1140.                                         <div class=\"c-detail-product__form-box-item\">
  1141.                                             <div class=\"c-select mdc-select mdc-select--outlined\">
  1142.                                                 <i class=\"mdc-select__dropdown-icon\"></i>
  1143.                                                 {{ form_widget(form.classcategory_id1, {'attr': { 'class': 'c-select__native-control mdc-select__native-control' }}) }}
  1144.                                                 <div class=\"mdc-notched-outline\">
  1145.                                                     <div class=\"mdc-notched-outline__leading\"></div>
  1146.                                                     <div class=\"mdc-notched-outline__notch\"></div>
  1147.                                                     <div class=\"mdc-notched-outline__trailing\"></div>
  1148.                                                 </div>
  1149.                                             </div>
  1150.                                             {{ form_errors(form.classcategory_id1, {'label_attr': {'class': 'mdc-select-helper-text mdc-select-helper-text--validation-msg'}}) }}
  1151.                                         </div>
  1152.                                     </div>
  1153.                                     {% if form.classcategory_id2 is defined %}
  1154.                                         <div class=\"c-detail-product__form-box\">
  1155.                                             <div class=\"c-detail-product__form-box-item\">
  1156.                                                 <div class=\"c-select mdc-select mdc-select--outlined\">
  1157.                                                     <i class=\"mdc-select__dropdown-icon\"></i>
  1158.                                                     {{ form_widget(form.classcategory_id2, {'attr': { 'class': 'c-select__native-control mdc-select__native-control' }}) }}
  1159.                                                     <div class=\"mdc-notched-outline\">
  1160.                                                         <div class=\"mdc-notched-outline__leading\"></div>
  1161.                                                         <div class=\"mdc-notched-outline__notch\"></div>
  1162.                                                         <div class=\"mdc-notched-outline__trailing\"></div>
  1163.                                                     </div>
  1164.                                                 </div>
  1165.                                                 {{ form_errors(form.classcategory_id2, {'label_attr': {'class': 'mdc-select-helper-text mdc-select-helper-text--validation-msg'}}) }}
  1166.                                             </div>
  1167.                                         </div>
  1168.                                     {% endif %}
  1169.                                 {% endif %}
  1170.                                 <div class=\"c-detail-product__form-box\">
  1171.                                     <div class=\"c-detail-product__form-box-item\">
  1172.                                         <div class=\"c-text-field mdc-text-field mdc-text-field--outlined{{ has_errors(form.quantity) ? ' mdc-text-field--invalid' }}\">
  1173.                                             {{ form_widget(form.quantity, {'attr': { 'class': 'c-text-field__input mdc-text-field__input' }}) }}
  1174.                                             <div class=\"mdc-notched-outline\">
  1175.                                                 <div class=\"mdc-notched-outline__leading\"></div>
  1176.                                                 <div class=\"mdc-notched-outline__notch\">
  1177.                                                     <label class=\"c-floating-label mdc-floating-label\" for=\"quantity\">{{ '数量'|trans }}</label>
  1178.                                                 </div>
  1179.                                                 <div class=\"mdc-notched-outline__trailing\"></div>
  1180.                                             </div>
  1181.                                         </div>
  1182.                                         {{ form_errors(form.quantity, {'label_attr': {'class': 'mdc-text-field-helper-text mdc-text-field-helper-text--validation-msg'}}) }}
  1183.                                     </div>
  1184.                                 </div>
  1185.                                 <div class=\"c-detail-product__actions\">
  1186.                                     <div class=\"c-detail-product__actions-item\">
  1187.                                         <button class=\"c-button is-secondary c-button--unelevated mdc-button mdc-button--unelevated add-cart\" type=\"submit\">
  1188.                                             <span class=\"c-detail-product__button-label\">{{ 'カートに入れる'|trans }}</span>
  1189.                                         </button>
  1190.                                     </div>
  1191.                                 </div>
  1192.                             {% else %}
  1193.                                 <div class=\"c-detail-product__actions\">
  1194.                                     <div class=\"c-detail-product__actions-item\">
  1195.                                         <button class=\"c-button c-button--unelevated mdc-button mdc-button--unelevated\" type=\"button\" disabled=\"disabled\">
  1196.                                             <span class=\"c-detail-product__button-label\">{{ 'SOLD OUT'|trans }}</span>
  1197.                                         </button>
  1198.                                     </div>
  1199.                                 </div>
  1200.                             {% endif %}
  1201.                             {{ form_rest(form) }}
  1202.                         </form>
  1203.                         <div class=\"p-product__modal\">
  1204.                             <input class=\"p-product__modal-checkbox js-product__modal-checkbox\" id=\"p-product__modal-checkbox\" type=\"checkbox\">
  1205.                             <div class=\"p-product__modal-overlay\">
  1206.                                 <label class=\"p-product__modal-overlay-close\" for=\"p-product__modal-checkbox\"></label>
  1207.                                 <div class=\"p-product__modal-contents\">
  1208.                                     <label class=\"p-product__modal-close\" for=\"p-product__modal-checkbox\">
  1209.                                         <i class=\"p-product__modal-close-icon material-icons\">close</i>
  1210.                                     </label>
  1211.                                     <div class=\"p-product__modal-header\">
  1212.                                         <p class=\"p-product__modal-message\" id=\"js-product__modal-message\">{{ 'カートに追加しました。'|trans }}</p>
  1213.                                     </div>
  1214.                                     <div class=\"p-product__modal-actions\">
  1215.                                         <div class=\"p-product__modal-actions-item\">
  1216.                                             <a class=\"p-product__modal-button c-button c-button--unelevated is-secondary mdc-button mdc-button--unelevated\" href=\"{{ url('cart') }}\">
  1217.                                                 <span class=\"c-button__label mdc-button__label\">{{ 'カートへ進む'|trans }}</span>
  1218.                                             </a>
  1219.                                         </div>
  1220.                                         <div class=\"p-product__modal-actions-item\">
  1221.                                             <label class=\"p-product__modal-button c-button c-button--unelevated is-primary mdc-button mdc-button--unelevated\" for=\"p-product__modal-checkbox\">
  1222.                                                 <span class=\"c-button__label mdc-button__label\">{{ 'お買い物を続ける'|trans }}</span>
  1223.                                             </label>
  1224.                                         </div>
  1225.                                     </div>
  1226.                                 </div>
  1227.                             </div>
  1228.                         </div>
  1229.                         {% if Product.description_detail %}
  1230.                             <div class=\"c-detail-product__comment\">{{ Product.description_detail|raw|nl2br }}</div>
  1231.                         {% endif %}
  1232.                         {% if Product.freearea %}
  1233.                             {{ include(template_from_string(Product.freearea)) }}
  1234.                         {% endif %}
  1235.                     </div>
  1236.                 </article>
  1237.             </div>
  1238.         </div>
  1239.     </div>
  1240. {% endblock %}""Product/detail.twig""/home/admin/meldia-mp/web/meldia_mp_shop/app/template/meldiastore/Product/detail.twig");
  1241.     }
  1242. }