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