var/cache/dev/twig/72/7275055bf0886ea1f3baf2ac3e72724389ceb7062266b40b27e24c4bc96254c1.php line 43

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_1.twig */
  14. class __TwigTemplate_c593bd1f031b359bc19c1425096d0945dc0001ecda5d9f62d167a6d2bc96cfa1 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_head' => [$this'block_javascript_head'],
  24.             'stylesheet' => [$this'block_stylesheet'],
  25.             'javascript' => [$this'block_javascript'],
  26.             'main' => [$this'block_main'],
  27.         ];
  28.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  29.         $this->checkSecurity();
  30.     }
  31.     protected function doGetParent(array $context)
  32.     {
  33.         // line 11
  34.         return "default_frame.twig";
  35.     }
  36.     protected function doDisplay(array $context, array $blocks = [])
  37.     {
  38.         $macros $this->macros;
  39.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  40.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail_1.twig"));
  41.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  42.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail_1.twig"));
  43.         // line 13
  44.         $context["body_class"] = "product_page";
  45.         // line 11
  46.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail_1.twig"11);
  47.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  48.         
  49.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  50.         
  51.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  52.     }
  53.     // line 15
  54.     public function block_javascript_head($context, array $blocks = [])
  55.     {
  56.         $macros $this->macros;
  57.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  58.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript_head"));
  59.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  60.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript_head"));
  61.         // line 16
  62.         echo "<script>
  63. window.dataLayer = window.dataLayer || [];
  64. dataLayer.push({ ecommerce: null }); 
  65. dataLayer.push({
  66.   event: \"view_item\",
  67.   ecommerce: {
  68.     currency: \"JPY\",
  69.     value: ";
  70.         // line 23
  71.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'23$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue23), 23$this->source), "html"nulltrue);
  72.         echo ",
  73.     items: [
  74.     {
  75.       item_id: \"";
  76.         // line 26
  77.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'26$this->source); })()), "id", [], "any"falsefalsetrue26), 26$this->source), "html"nulltrue);
  78.         echo "\",
  79.       item_name: \"";
  80.         // line 27
  81.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'27$this->source); })()), "name", [], "any"falsefalsetrue27), 27$this->source), "html"nulltrue);
  82.         echo "\",
  83.       price: ";
  84.         // line 28
  85.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'28$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue28), 28$this->source), "html"nulltrue);
  86.         echo ",
  87.       quantity: 1
  88.     }
  89.     ]
  90.   }
  91. });
  92. </script>
  93. <script>
  94. window.addEventListener('load', function () {
  95.     if (window.location.pathname.includes('/products/detail/')) {
  96.         document.querySelector('.c-button--h.add-cart').addEventListener('click', function(e){
  97.             dataLayer.push({
  98.                 event: \"add_to_cart\",
  99.                 ecommerce: {
  100.                 transaction_id: \"";
  101.         // line 42
  102.         echo twig_escape_filter($this->env, (twig_random($this->env) + 1), "html"nulltrue);
  103.         echo "\",
  104.                 value: ";
  105.         // line 43
  106.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'43$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue43), 43$this->source), "html"nulltrue);
  107.         echo ",
  108.                 currency: \"JPY\",
  109.                 items: [
  110.                 {
  111.                     item_name: \"";
  112.         // line 47
  113.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'47$this->source); })()), "name", [], "any"falsefalsetrue47), 47$this->source), "html"nulltrue);
  114.         echo "\",
  115.                     item_id: \"";
  116.         // line 48
  117.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'48$this->source); })()), "id", [], "any"falsefalsetrue48), 48$this->source), "html"nulltrue);
  118.         echo "\",
  119.                     quantity: \$('#quantity').val()
  120.                 }]
  121.                 }
  122.             });
  123.         });
  124.     };
  125. });
  126. </script>
  127. ";
  128.         
  129.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  130.         
  131.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  132.     }
  133.     // line 59
  134.     public function block_stylesheet($context, array $blocks = [])
  135.     {
  136.         $macros $this->macros;
  137.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  138.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  139.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  140.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  141.         
  142.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  143.         
  144.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  145.     }
  146.     // line 62
  147.     public function block_javascript($context, array $blocks = [])
  148.     {
  149.         $macros $this->macros;
  150.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  151.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  152.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  153.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  154.         // line 63
  155.         echo "    <script>
  156.         eccube.classCategories = ";
  157.         // line 64
  158.         echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed((isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'64$this->source); })()), 64$this->source));
  159.         echo ";
  160.         // 規格2に選択肢を割り当てる。
  161.         function fnSetClassCategories(form, classcat_id2_selected) {
  162.             var \$form = \$(form);
  163.             var product_id = \$form.find('input[name=product_id]').val();
  164.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  165.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  166.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  167.         }
  168.         ";
  169.         // line 75
  170.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue75)) {
  171.             // line 76
  172.             echo "        fnSetClassCategories(
  173.             \$('#form1'), ";
  174.             // line 77
  175.             echo json_encode($this->sandbox->ensureToStringAllowed(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.'77$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue77), "vars", [], "any"falsefalsetrue77), "value", [], "any"falsefalsetrue77), 77$this->source));
  176.             echo "
  177.         );
  178.         ";
  179.         } elseif (twig_get_attribute($this->env$this->source,         // line 79
  180. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue79)) {
  181.             // line 80
  182.             echo "        eccube.checkStock(\$('#form1'), ";
  183.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'80$this->source); })()), "id", [], "any"falsefalsetrue80), 80$this->source), "html"nulltrue);
  184.             echo ", ";
  185.             echo json_encode($this->sandbox->ensureToStringAllowed(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.'80$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue80), "vars", [], "any"falsefalsetrue80), "value", [], "any"falsefalsetrue80), 80$this->source));
  186.             echo ", null);
  187.         ";
  188.         }
  189.         // line 82
  190.         echo "    </script>
  191. ";
  192.         // line 84
  193.         if (((isset($context["classcategory_id1"]) || array_key_exists("classcategory_id1"$context) ? $context["classcategory_id1"] : (function () { throw new RuntimeError('Variable "classcategory_id1" does not exist.'84$this->source); })()) && (isset($context["classcategory_id2"]) || array_key_exists("classcategory_id2"$context) ? $context["classcategory_id2"] : (function () { throw new RuntimeError('Variable "classcategory_id2" does not exist.'84$this->source); })()))) {
  194.             // line 85
  195.             echo "    <script>
  196.         \$(function() {
  197.             \$('select[name=\"classcategory_id1\"]').val('";
  198.             // line 87
  199.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["classcategory_id1"]) || array_key_exists("classcategory_id1"$context) ? $context["classcategory_id1"] : (function () { throw new RuntimeError('Variable "classcategory_id1" does not exist.'87$this->source); })()), 87$this->source), "html"nulltrue);
  200.             echo "');
  201.             fnSetClassCategories(
  202.                 \$('#form1'), '";
  203.             // line 89
  204.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["classcategory_id2"]) || array_key_exists("classcategory_id2"$context) ? $context["classcategory_id2"] : (function () { throw new RuntimeError('Variable "classcategory_id2" does not exist.'89$this->source); })()), 89$this->source), "html"nulltrue);
  205.             echo "'
  206.             );
  207.         });
  208.     </script>
  209. ";
  210.         } elseif (        // line 93
  211. (isset($context["classcategory_id1"]) || array_key_exists("classcategory_id1"$context) ? $context["classcategory_id1"] : (function () { throw new RuntimeError('Variable "classcategory_id1" does not exist.'93$this->source); })())) {
  212.             // line 94
  213.             echo "    <script>
  214.         \$(function() {
  215.             \$('select[name=\"classcategory_id1\"]').val('";
  216.             // line 96
  217.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["classcategory_id1"]) || array_key_exists("classcategory_id1"$context) ? $context["classcategory_id1"] : (function () { throw new RuntimeError('Variable "classcategory_id1" does not exist.'96$this->source); })()), 96$this->source), "html"nulltrue);
  218.             echo "');
  219.             \$('select[name=\"classcategory_id1\"]').change();
  220.         });
  221.     </script>
  222. ";
  223.         }
  224.         // line 129
  225.         echo "    <script>
  226.         \$(function() {
  227.             \$('.add-cart').on('click', function(event) {
  228.                 ";
  229.         // line 132
  230.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue132)) {
  231.             // line 133
  232.             echo "                // 規格1フォームの必須チェック
  233.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  234.                     \$('#classcategory_id1')[0].setCustomValidity('";
  235.             // line 135
  236.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  237.             echo "');
  238.                     return true;
  239.                 } else {
  240.                     \$('#classcategory_id1')[0].setCustomValidity('');
  241.                 }
  242.                 ";
  243.         }
  244.         // line 141
  245.         echo "
  246.                 ";
  247.         // line 142
  248.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue142)) {
  249.             // line 143
  250.             echo "                // 規格2フォームの必須チェック
  251.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  252.                     \$('#classcategory_id2')[0].setCustomValidity('";
  253.             // line 145
  254.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  255.             echo "');
  256.                     return true;
  257.                 } else {
  258.                     \$('#classcategory_id2')[0].setCustomValidity('');
  259.                 }
  260.                 ";
  261.         }
  262.         // line 151
  263.         echo "
  264.                 // 個数フォームのチェック
  265.                 if (\$('#quantity').val() < 1) {
  266.                     \$('#quantity')[0].setCustomValidity('";
  267.         // line 154
  268.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  269.         echo "');
  270.                     return true;
  271.                 } else {
  272.                     \$('#quantity')[0].setCustomValidity('');
  273.                 }
  274.                 event.preventDefault();
  275.                 \$form = \$('#form1');
  276.                         // Buttonを無効にする
  277.                         \$('.add-cart').prop('disabled', true);
  278.                 \$form.submit();
  279. ";
  280.         // line 198
  281.         echo "            });
  282.         });
  283.         \$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  284.             \$('.ec-modal').hide()
  285.         });
  286.     </script>
  287. ";
  288.         
  289.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  290.         
  291.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  292.     }
  293.     // line 207
  294.     public function block_main($context, array $blocks = [])
  295.     {
  296.         $macros $this->macros;
  297.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  298.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  299.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  300.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  301.         // line 208
  302.         echo "\t\t\t<div class=\"l-blockRole\">
  303. \t\t\t\t<div class=\"u-cts productsDetail-main\">
  304. \t\t\t\t\t<div class=\"u-cts__inner\">
  305. \t\t\t\t\t\t<section class=\"productsDetail-main-upper\">
  306. \t\t\t\t\t\t\t<figure class=\"productsDetail-main__image js-productsImage\">
  307. \t\t\t\t\t\t\t\t<div class=\"productsDetail-main__image-main\">
  308. \t\t\t\t\t\t\t\t\t<div class=\"num js-productsImage-num\">1/";
  309.         // line 214
  310.         echo twig_escape_filter($this->envtwig_length_filter($this->env$this->sandbox->ensureToStringAllowed(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); })()), "ProductImage", [], "any"falsefalsetrue214), 214$this->source)), "html"nulltrue);
  311.         echo "</div>
  312. \t\t\t\t\t\t\t\t\t<ul class=\"p-slick--c js-productsImage-slide\">
  313. ";
  314.         // line 216
  315.         $context['_parent'] = $context;
  316.         $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.'216$this->source); })()), "ProductImage", [], "any"falsefalsetrue216));
  317.         $context['_iterated'] = false;
  318.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  319.             // line 217
  320.             echo "\t\t\t\t\t\t\t\t\t\t<li><img src=\"";
  321.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 217$this->source), "save_image"), "html"nulltrue);
  322.             echo "\" alt=\"";
  323.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'217$this->source); })()), "name", [], "any"falsefalsetrue217), 217$this->source), "html"nulltrue);
  324.             echo "\"></li>
  325. ";
  326.             $context['_iterated'] = true;
  327.         }
  328.         if (!$context['_iterated']) {
  329.             // line 219
  330.             echo "\t\t\t\t\t\t\t\t\t\t<li><img src=\"";
  331.             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);
  332.             echo "\" alt=\"";
  333.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'219$this->source); })()), "name", [], "any"falsefalsetrue219), 219$this->source), "html"nulltrue);
  334.             echo "\"></li>
  335. ";
  336.         }
  337.         $_parent $context['_parent'];
  338.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  339.         $context array_intersect_key($context$_parent) + $_parent;
  340.         // line 221
  341.         echo "\t\t\t\t\t\t\t\t\t</ul>
  342. \t\t\t\t\t\t\t\t</div>
  343. \t\t\t\t\t\t\t\t<div class=\"productsDetail-main__image-sub\">
  344.                                     <div class=\"modal-box js-productsImage-thumb\">
  345.                                         <div class=\"is-modal-close\">✕</div>
  346.                                         <ul>
  347. ";
  348.         // line 227
  349.         $context['_parent'] = $context;
  350.         $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.'227$this->source); })()), "ProductImage", [], "any"falsefalsetrue227));
  351.         $context['loop'] = [
  352.           'parent' => $context['_parent'],
  353.           'index0' => 0,
  354.           'index'  => 1,
  355.           'first'  => true,
  356.         ];
  357.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  358.             $length count($context['_seq']);
  359.             $context['loop']['revindex0'] = $length 1;
  360.             $context['loop']['revindex'] = $length;
  361.             $context['loop']['length'] = $length;
  362.             $context['loop']['last'] = === $length;
  363.         }
  364.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  365.             // line 228
  366.             echo "                                            <li><a href=\"#\" class=\"";
  367.             echo (((twig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsetrue228) == 0)) ? ("is-active") : (""));
  368.             echo "\"><img src=\"";
  369.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 228$this->source), "save_image"), "html"nulltrue);
  370.             echo "\" alt=\"";
  371.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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); })()), "name", [], "any"falsefalsetrue228), 228$this->source), "html"nulltrue);
  372.             echo "\"></a></li>
  373. ";
  374.             ++$context['loop']['index0'];
  375.             ++$context['loop']['index'];
  376.             $context['loop']['first'] = false;
  377.             if (isset($context['loop']['length'])) {
  378.                 --$context['loop']['revindex0'];
  379.                 --$context['loop']['revindex'];
  380.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  381.             }
  382.         }
  383.         $_parent $context['_parent'];
  384.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  385.         $context array_intersect_key($context$_parent) + $_parent;
  386.         // line 230
  387.         echo "                                        </ul>
  388.                                     </div>
  389. \t\t\t\t\t\t\t\t</div>
  390. \t\t\t\t\t\t\t</figure>
  391. \t\t\t\t\t\t\t<div class=\"productsDetail-main__info\">
  392. \t\t\t\t\t\t\t\t<p class=\"brand\">ブランド:
  393. ";
  394.         // line 236
  395.         $context['_parent'] = $context;
  396.         $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); })()), "ProductCategories", [], "any"falsefalsetrue236));
  397.         foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  398.             // line 237
  399.             echo "\t";
  400.             $context['_parent'] = $context;
  401.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsetrue237), "path", [], "any"falsefalsetrue237));
  402.             foreach ($context['_seq'] as $context["_key"] => $context["Category_"]) {
  403.                 // line 238
  404.                 echo "\t\t";
  405.                 if ( !(null === twig_get_attribute($this->env$this->source$context["Category_"], "parent", [], "any"falsefalsetrue238))) {
  406.                     // line 239
  407.                     echo "\t\t\t";
  408.                     if (twig_in_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["Category_"], "parent", [], "any"falsefalsetrue239), "id", [], "any"falsefalsetrue239), [=> 21])) {
  409.                         // line 240
  410.                         echo "\t\t\t\t";
  411.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Category_"], "name", [], "any"falsefalsetrue240), 240$this->source), "html"nulltrue);
  412.                         echo "
  413. \t\t\t";
  414.                     }
  415.                     // line 242
  416.                     echo "\t\t";
  417.                 }
  418.                 // line 243
  419.                 echo "\t";
  420.             }
  421.             $_parent $context['_parent'];
  422.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category_'], $context['_parent'], $context['loop']);
  423.             $context array_intersect_key($context$_parent) + $_parent;
  424.         }
  425.         $_parent $context['_parent'];
  426.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  427.         $context array_intersect_key($context$_parent) + $_parent;
  428.         // line 245
  429.         echo "\t\t\t\t\t\t\t\t</p>
  430. \t\t\t\t\t\t\t\t<h1 class=\"name\">";
  431.         // line 246
  432.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'246$this->source); })()), "name", [], "any"falsefalsetrue246), 246$this->source), "html"nulltrue);
  433.         echo "</h1>
  434.                                 <div class=\"yotpo bottomLine\" data-yotpo-product-id=\"";
  435.         // line 247
  436.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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"falsefalsetrue247), 247$this->source), "html"nulltrue);
  437.         echo "\"></div>
  438. \t\t\t\t\t\t\t\t";
  439.         // line 249
  440.         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.'249$this->source); })()), "hasProductClass", [], "any"falsefalsetrue249)) {
  441.             // line 250
  442.             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.'250$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue250) == 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); })()), "getPrice02IncTaxMax", [], "any"falsefalsetrue250))) {
  443.                 // line 251
  444.                 echo "\t\t\t\t\t\t\t\t<p class=\"price\"><span class=\"price02-default\">";
  445.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(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.'251$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue251), 251$this->source)), "html"nulltrue);
  446.                 echo "</span><span class=\"zei\">";
  447.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  448.                 echo "</span></p>
  449. \t";
  450.             } else {
  451.                 // line 253
  452.                 echo "\t\t\t\t\t\t\t\t<p class=\"price\"><span class=\"price02-default\">";
  453.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(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.'253$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue253), 253$this->source)), "html"nulltrue);
  454.                 echo " ~ ";
  455.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(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.'253$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsetrue253), 253$this->source)), "html"nulltrue);
  456.                 echo "</span><span class=\"zei\">";
  457.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  458.                 echo "</span></p>
  459. \t";
  460.             }
  461.         } else {
  462.             // line 256
  463.             echo "\t\t\t\t\t\t\t\t<p class=\"price\"><span class=\"price02-default\">";
  464.             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'256$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue256), 256$this->source)), "html"nulltrue);
  465.             echo "</span><span class=\"zei\">";
  466.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  467.             echo "</span></p>
  468. ";
  469.         }
  470.         // line 258
  471.         echo "\t\t\t\t\t\t\t<form action=\"";
  472.         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.'258$this->source); })()), "id", [], "any"falsefalsetrue258)]), "html"nulltrue);
  473.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  474. ";
  475.         // line 259
  476.         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.'259$this->source); })()), "stock_find", [], "any"falsefalsetrue259)) {
  477.             // line 260
  478.             echo "\t";
  479.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue260)) {
  480.                 // line 261
  481.                 echo "\t\t\t\t\t\t\t\t<div class=\"color c-select--a\">
  482. \t\t";
  483.                 // line 262
  484.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(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.'262$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue262), 262$this->source), 'widget');
  485.                 echo "
  486. \t\t";
  487.                 // line 263
  488.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(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); })()), "classcategory_id1", [], "any"falsefalsetrue263), 263$this->source), 'errors');
  489.                 echo "
  490. \t\t\t\t\t\t\t\t</div>
  491. \t\t";
  492.                 // line 265
  493.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue265)) {
  494.                     // line 266
  495.                     echo "\t\t\t\t\t\t\t\t<div class=\"size c-select--a\">
  496. \t\t";
  497.                     // line 267
  498.                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(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.'267$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue267), 267$this->source), 'widget');
  499.                     echo "
  500. \t\t";
  501.                     // line 268
  502.                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(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.'268$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue268), 268$this->source), 'errors');
  503.                     echo "
  504. \t\t\t\t\t\t\t\t</div>
  505. \t\t";
  506.                 }
  507.                 // line 271
  508.                 echo "\t";
  509.             }
  510.             // line 272
  511.             echo "
  512. \t\t\t\t\t\t\t<div class=\"c-input--a\">
  513. \t\t\t\t\t\t\t\t";
  514.             // line 274
  515.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(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.'274$this->source); })()), "quantity", [], "any"falsefalsetrue274), 274$this->source), 'widget');
  516.             echo "
  517. \t\t\t\t\t\t\t\t";
  518.             // line 275
  519.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(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.'275$this->source); })()), "quantity", [], "any"falsefalsetrue275), 275$this->source), 'errors');
  520.             echo "
  521. \t\t\t\t\t\t\t</div>
  522. \t\t\t\t\t\t\t\t\t<dl class=\"info u-cfx\">
  523. \t\t\t\t\t\t\t\t\t\t<dt>商品ID</dt><dd>:<span class=\"product-code-default\"></span></dd>
  524. \t\t\t\t\t\t\t\t\t\t<dt>発送日数</dt><dd>:<span class=\"delivery-duration-default\"></span></dd>
  525. \t\t\t\t\t\t\t\t\t</dl>
  526. \t\t\t\t\t\t\t\t<div class=\"cart\"><button type=\"submit\" class=\"c-button--h add-cart\"><span>";
  527.             // line 282
  528.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  529.             echo "</span></button></div>
  530. ";
  531.         } else {
  532.             // line 284
  533.             echo "\t\t\t\t\t\t\t\t<div class=\"cart\"><button type=\"button\" class=\"c-button--h\" disabled=\"disabled\">";
  534.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  535.             echo "</button></div>
  536. ";
  537.         }
  538.         // line 286
  539.         echo "\t\t\t\t\t\t\t";
  540.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'286$this->source); })()), 286$this->source), 'rest');
  541.         echo "
  542. \t\t\t\t\t\t\t</form>
  543. ";
  544.         // line 288
  545.         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.'288$this->source); })()), "option_favorite_product", [], "any"falsefalsetrue288)) {
  546.             // line 289
  547.             echo "\t\t\t\t\t\t\t<div class=\"recommend\">
  548. \t\t\t\t\t\t\t\t<form action=\"";
  549.             // line 290
  550.             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.'290$this->source); })()), "id", [], "any"falsefalsetrue290)]), "html"nulltrue);
  551.             echo "\" method=\"post\">
  552. \t";
  553.             // line 291
  554.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'291$this->source); })()) == false)) {
  555.                 // line 292
  556.                 echo "\t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"c-button--k\"><img src=\"";
  557.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/icon_heart.svg"), "html"nulltrue);
  558.                 echo "\" alt=\"";
  559.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  560.                 echo "\" class=\"icon\"></button>
  561. \t";
  562.             } else {
  563.                 // line 294
  564.                 echo "\t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"c-button--k is-active\"><img src=\"";
  565.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/img/icon_heart.svg"), "html"nulltrue);
  566.                 echo "\" alt=\"";
  567.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済みです。"), "html"nulltrue);
  568.                 echo "\" class=\"icon\"></button>
  569. \t";
  570.             }
  571.             // line 296
  572.             echo "\t\t\t\t\t\t\t\t</form>
  573. \t\t\t\t\t\t\t</div>
  574. ";
  575.         }
  576.         // line 299
  577.         echo "\t\t\t\t\t\t\t\t<p class=\"link\">
  578. \t\t\t\t\t\t\t\t\t<a href=\"";
  579.         // line 300
  580.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("help_guide");
  581.         echo "#delivery\" target=\"_blank\" class=\"c-button--j\">発送方法・送料・納期についてはこちら</a>
  582. \t\t\t\t\t\t\t\t</p>
  583. \t\t\t\t\t\t\t\t<p class=\"link\">
  584. \t\t\t\t\t\t\t\t\t<a href=\"";
  585.         // line 303
  586.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("contact");
  587.         echo "?product_id=";
  588.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'303$this->source); })()), "id", [], "any"falsefalsetrue303), 303$this->source), "html"nulltrue);
  589.         echo "\" target=\"_blank\" class=\"c-button--j\">商品についてお問い合わせはこちら</a>
  590. \t\t\t\t\t\t\t\t</p>
  591. \t\t\t\t\t\t\t</div>
  592. \t\t\t\t\t\t</section>
  593. \t\t\t\t\t\t<section class=\"productsDetail-main-under\">
  594. \t\t\t\t\t\t\t<div class=\"productsDetail-main__detail js-toggle--a def-open\">
  595. \t\t\t\t\t\t\t\t<div class=\"productsDetail-main__detail-body\">
  596.                                 <h2 class=\"productsDetail-main__detail-button\"><span class=\"c-button--i no-link\">配送について</span></h2>
  597. \t\t\t\t\t\t\t\t\t<div class=\"block\">
  598.                                         <div class=\"box\">
  599.                                             <h2 class=\"title u-pc\">配送について</h2>
  600.                                             <p class=\"text ec-Description2\">";
  601.         // line 314
  602.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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); })()), "description2", [], "any"falsefalsetrue314), 314$this->source));
  603.         echo "</p>
  604.                                         </div>
  605.                                     </div>
  606.                                     <h2 class=\"productsDetail-main__detail-button js-toggle__button\"><a href=\"#\" class=\"c-button--i\">商品説明</a></h2>
  607.                                     <div class=\"block js-toggle__body\">
  608.                                         <div class=\"box\">
  609.                                             <h3 class=\"title\">";
  610.         // line 320
  611.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'320$this->source); })()), "section2_title", [], "any"falsefalsetrue320), 320$this->source), "html"nulltrue);
  612.         echo "</h3>
  613.                                             <div class=\"text\">
  614.                                                 <p>";
  615.         // line 322
  616.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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.'322$this->source); })()), "section2_body", [], "any"falsefalsetrue322), 322$this->source));
  617.         echo "</p>
  618.                                             </div>
  619.                                         </div>
  620.                                         <div class=\"box\">
  621.                                             <h3 class=\"title\">商品詳細</h3>
  622.                                             <div class=\"text\">
  623.                                                 <p>";
  624.         // line 328
  625.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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.'328$this->source); })()), "description_detail", [], "any"falsefalsetrue328), 328$this->source));
  626.         echo "</p>
  627.                                             </div>
  628.                                         </div>
  629.                                         <div class=\"box\">
  630.                                             <h3 class=\"title\">サイズ</h3>
  631.                                             <div class=\"text\">
  632.                                                 <p>";
  633.         // line 334
  634.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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.'334$this->source); })()), "section3_body", [], "any"falsefalsetrue334), 334$this->source));
  635.         echo "</p>
  636.                                             </div>
  637.                                         </div>
  638.                                         <div class=\"box\">
  639.                                             <h3 class=\"title\">素材</h3>
  640.                                             <div class=\"text\">
  641.                                                 <p>";
  642.         // line 340
  643.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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.'340$this->source); })()), "section4_body", [], "any"falsefalsetrue340), 340$this->source));
  644.         echo "</p>
  645.                                             </div>
  646.                                         </div>
  647.                                         <div class=\"box\">
  648.                                             <h3 class=\"title\">その他</h3>
  649.                                             <div class=\"text\">
  650.                                                 <p>";
  651.         // line 346
  652.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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.'346$this->source); })()), "section5_body", [], "any"falsefalsetrue346), 346$this->source));
  653.         echo "</p>
  654.                                             </div>
  655.                                         </div>
  656.                                         <div class=\"box\">
  657.                                             <h3 class=\"title\">";
  658.         // line 350
  659.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'350$this->source); })()), "section1_title", [], "any"falsefalsetrue350), 350$this->source), "html"nulltrue);
  660.         echo "</h3>
  661.                                             <div class=\"text\">
  662.                                                 <p>";
  663.         // line 352
  664.         echo twig_nl2br($this->sandbox->ensureToStringAllowed(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.'352$this->source); })()), "section1_body", [], "any"falsefalsetrue352), 352$this->source));
  665.         echo "</p>
  666.                                             </div>
  667.                                         </div>
  668.                                     </div>
  669. \t\t\t\t\t\t\t    </div>
  670. \t\t\t\t\t\t\t</div>
  671. \t\t\t\t\t\t</section>
  672.                         <div class=\"chatplus-bt\">
  673.                             <img src=\"https://app.chatplus.jp/image/button/7fd82760/2/6716f0c26e926\" alt=\"\" style=\"cursor:pointer;\" onclick='window.open(\"https://app.chatplus.jp/chat/visitor/7fd82760_2?t=btn&bw=410&bh=520&bg=%23d6cbac\", \"chat_plus_jp_window\", \"width=410, height=520, menubar=no, toolbar=no, scrollbars=no, location=no\");'>
  674.                         </div>
  675.                         ";
  676.         // line 363
  677.         echo "                        <div class=\"yotpo yotpo-main-widget review-area\"
  678.                         data-product-id=\"";
  679.         // line 364
  680.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'364$this->source); })()), "id", [], "any"falsefalsetrue364), 364$this->source), "html"nulltrue);
  681.         echo "\"
  682.                         data-name=\"";
  683.         // line 365
  684.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(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.'365$this->source); })()), "name", [], "any"falsefalsetrue365), 365$this->source), "html"nulltrue);
  685.         echo "\"
  686.                         data-url=\"";
  687.         // line 366
  688.         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.'366$this->source); })()), "id", [], "any"falsefalsetrue366)]), "html"nulltrue);
  689.         echo "\"
  690.                         data-price=\"";
  691.         // line 367
  692.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'367$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue367), 367$this->source), "html"nulltrue);
  693.         echo "\"
  694.                         data-currency=\"JPY\"
  695.                         ";
  696.         // line 369
  697.         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.'369$this->source); })()), "ProductImage", [], "any"falsefalsetrue369)) {
  698.             // line 370
  699.             echo "                        data-image-url=\"";
  700.             echo twig_escape_filter($this->envtwig_trim_filter($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage"), "/"), "html"nulltrue);
  701.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'370$this->source); })()), "ProductImage", [], "any"falsefalsetrue370), 0, [], "array"falsefalsetrue370), 370$this->source), "save_image"), "html"nulltrue);
  702.             echo "\"
  703.                         ";
  704.         }
  705.         // line 372
  706.         echo "                        data-description=\"\">
  707.                         </div>
  708. \t\t\t\t\t</div>
  709. \t\t\t\t</div>
  710. \t\t\t<!-- / --></div>
  711. ";
  712.         // line 379
  713.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/product_gallery.twig");
  714.         echo "
  715. ";
  716.         // line 380
  717.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/recommend_product_block.twig");
  718.         echo "
  719. ";
  720.         
  721.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  722.         
  723.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  724.     }
  725.     public function getTemplateName()
  726.     {
  727.         return "Product/detail_1.twig";
  728.     }
  729.     public function isTraitable()
  730.     {
  731.         return false;
  732.     }
  733.     public function getDebugInfo()
  734.     {
  735.         return array (  753 => 380,  749 => 379,  740 => 372,  733 => 370,  731 => 369,  726 => 367,  722 => 366,  718 => 365,  714 => 364,  711 => 363,  698 => 352,  693 => 350,  686 => 346,  677 => 340,  668 => 334,  659 => 328,  650 => 322,  645 => 320,  636 => 314,  620 => 303,  614 => 300,  611 => 299,  606 => 296,  598 => 294,  590 => 292,  588 => 291,  584 => 290,  581 => 289,  579 => 288,  573 => 286,  567 => 284,  562 => 282,  552 => 275,  548 => 274,  544 => 272,  541 => 271,  535 => 268,  531 => 267,  528 => 266,  526 => 265,  521 => 263,  517 => 262,  514 => 261,  511 => 260,  509 => 259,  504 => 258,  496 => 256,  485 => 253,  477 => 251,  475 => 250,  473 => 249,  469 => 247,  465 => 246,  462 => 245,  452 => 243,  449 => 242,  443 => 240,  440 => 239,  437 => 238,  432 => 237,  428 => 236,  420 => 230,  399 => 228,  382 => 227,  374 => 221,  363 => 219,  353 => 217,  348 => 216,  343 => 214,  335 => 208,  325 => 207,  308 => 198,  294 => 154,  289 => 151,  280 => 145,  276 => 143,  274 => 142,  271 => 141,  262 => 135,  258 => 133,  256 => 132,  251 => 129,  243 => 96,  239 => 94,  237 => 93,  230 => 89,  225 => 87,  221 => 85,  219 => 84,  216 => 82,  208 => 80,  206 => 79,  201 => 77,  198 => 76,  196 => 75,  182 => 64,  179 => 63,  169 => 62,  151 => 59,  131 => 48,  127 => 47,  120 => 43,  116 => 42,  99 => 28,  95 => 27,  91 => 26,  85 => 23,  76 => 16,  66 => 15,  55 => 11,  53 => 13,  40 => 11,);
  736.     }
  737.     public function getSourceContext()
  738.     {
  739.         return new Source("{#
  740. This file is part of EC-CUBE
  741. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  742. http://www.ec-cube.co.jp/
  743. For the full copyright and license information, please view the LICENSE
  744. file that was distributed with this source code.
  745. #}
  746. {% extends 'default_frame.twig' %}
  747. {% set body_class = 'product_page' %}
  748. {% block javascript_head %}
  749. <script>
  750. window.dataLayer = window.dataLayer || [];
  751. dataLayer.push({ ecommerce: null }); 
  752. dataLayer.push({
  753.   event: \"view_item\",
  754.   ecommerce: {
  755.     currency: \"JPY\",
  756.     value: {{ Product.getPrice02IncTaxMin }},
  757.     items: [
  758.     {
  759.       item_id: \"{{ Product.id }}\",
  760.       item_name: \"{{ Product.name }}\",
  761.       price: {{ Product.getPrice02IncTaxMin }},
  762.       quantity: 1
  763.     }
  764.     ]
  765.   }
  766. });
  767. </script>
  768. <script>
  769. window.addEventListener('load', function () {
  770.     if (window.location.pathname.includes('/products/detail/')) {
  771.         document.querySelector('.c-button--h.add-cart').addEventListener('click', function(e){
  772.             dataLayer.push({
  773.                 event: \"add_to_cart\",
  774.                 ecommerce: {
  775.                 transaction_id: \"{{ random() + 1 }}\",
  776.                 value: {{ Product.getPrice02IncTaxMin }},
  777.                 currency: \"JPY\",
  778.                 items: [
  779.                 {
  780.                     item_name: \"{{ Product.name }}\",
  781.                     item_id: \"{{ Product.id }}\",
  782.                     quantity: \$('#quantity').val()
  783.                 }]
  784.                 }
  785.             });
  786.         });
  787.     };
  788. });
  789. </script>
  790. {% endblock %}
  791. {% block stylesheet %}
  792. {% endblock %}
  793. {% block javascript %}
  794.     <script>
  795.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  796.         // 規格2に選択肢を割り当てる。
  797.         function fnSetClassCategories(form, classcat_id2_selected) {
  798.             var \$form = \$(form);
  799.             var product_id = \$form.find('input[name=product_id]').val();
  800.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  801.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  802.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  803.         }
  804.         {% if form.classcategory_id2 is defined %}
  805.         fnSetClassCategories(
  806.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  807.         );
  808.         {% elseif form.classcategory_id1 is defined %}
  809.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  810.         {% endif %}
  811.     </script>
  812. {# ADD 2023-02-07 codeパラメータから規格情報をデフォルト表示 #}
  813. {% if classcategory_id1 and classcategory_id2 %}
  814.     <script>
  815.         \$(function() {
  816.             \$('select[name=\"classcategory_id1\"]').val('{{ classcategory_id1 }}');
  817.             fnSetClassCategories(
  818.                 \$('#form1'), '{{ classcategory_id2 }}'
  819.             );
  820.         });
  821.     </script>
  822. {% elseif  classcategory_id1 %}
  823.     <script>
  824.         \$(function() {
  825.             \$('select[name=\"classcategory_id1\"]').val('{{ classcategory_id1 }}');
  826.             \$('select[name=\"classcategory_id1\"]').change();
  827.         });
  828.     </script>
  829. {% endif %}
  830. {#
  831.     <script>
  832.         \$(function() {
  833.             // bfcache無効化
  834.             \$(window).bind('pageshow', function(event) {
  835.                 if (event.originalEvent.persisted) {
  836.                     location.reload(true);
  837.                 }
  838.             });
  839.             \$('.item_visual').slick({
  840.                 dots: false,
  841.                 arrows: false,
  842.                 responsive: [{
  843.                     breakpoint: 768,
  844.                     settings: {
  845.                         dots: true
  846.                     }
  847.                 }]
  848.             });
  849.             \$('.slideThumb').on('click', function() {
  850.                 var index = \$(this).attr('data-index');
  851.                 \$('.item_visual').slick('slickGoTo', index, false);
  852.             })
  853.         });
  854.     </script>
  855. #}
  856.     <script>
  857.         \$(function() {
  858.             \$('.add-cart').on('click', function(event) {
  859.                 {% if form.classcategory_id1 is defined %}
  860.                 // 規格1フォームの必須チェック
  861.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  862.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  863.                     return true;
  864.                 } else {
  865.                     \$('#classcategory_id1')[0].setCustomValidity('');
  866.                 }
  867.                 {% endif %}
  868.                 {% if form.classcategory_id2 is defined %}
  869.                 // 規格2フォームの必須チェック
  870.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  871.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  872.                     return true;
  873.                 } else {
  874.                     \$('#classcategory_id2')[0].setCustomValidity('');
  875.                 }
  876.                 {% endif %}
  877.                 // 個数フォームのチェック
  878.                 if (\$('#quantity').val() < 1) {
  879.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  880.                     return true;
  881.                 } else {
  882.                     \$('#quantity')[0].setCustomValidity('');
  883.                 }
  884.                 event.preventDefault();
  885.                 \$form = \$('#form1');
  886.                         // Buttonを無効にする
  887.                         \$('.add-cart').prop('disabled', true);
  888.                 \$form.submit();
  889. {#
  890.                 \$.ajax({
  891.                     url: \$form.attr('action'),
  892.                     type: \$form.attr('method'),
  893.                     data: \$form.serialize(),
  894.                     dataType: 'json',
  895.                     beforeSend: function(xhr, settings) {
  896.                         // Buttonを無効にする
  897.                         \$('.add-cart').prop('disabled', true);
  898.                     }
  899.                 }).done(function(data) {
  900.                     // レスポンス内のメッセージをalertで表示
  901.                     \$.each(data.messages, function() {
  902.                         \$('#ec-modal-header').html(this);
  903.                     });
  904.                     \$('.ec-modal').show()
  905.                     // カートブロックを更新する
  906.                     \$.ajax({
  907.                         url: \"{{ url('block_cart') }}\",
  908.                         type: 'GET',
  909.                         dataType: 'html'
  910.                     }).done(function(html) {
  911.                         \$('.ec-headerRole__cart').html(html);
  912.                     });
  913.                 }).fail(function(data) {
  914.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  915.                 }).always(function(data) {
  916.                     // Buttonを有効にする
  917.                     \$('.add-cart').prop('disabled', false);
  918.                 });
  919. #}
  920.             });
  921.         });
  922.         \$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  923.             \$('.ec-modal').hide()
  924.         });
  925.     </script>
  926. {% endblock %}
  927. {% block main %}
  928. \t\t\t<div class=\"l-blockRole\">
  929. \t\t\t\t<div class=\"u-cts productsDetail-main\">
  930. \t\t\t\t\t<div class=\"u-cts__inner\">
  931. \t\t\t\t\t\t<section class=\"productsDetail-main-upper\">
  932. \t\t\t\t\t\t\t<figure class=\"productsDetail-main__image js-productsImage\">
  933. \t\t\t\t\t\t\t\t<div class=\"productsDetail-main__image-main\">
  934. \t\t\t\t\t\t\t\t\t<div class=\"num js-productsImage-num\">1/{{ Product.ProductImage|length }}</div>
  935. \t\t\t\t\t\t\t\t\t<ul class=\"p-slick--c js-productsImage-slide\">
  936. {% for ProductImage in Product.ProductImage %}
  937. \t\t\t\t\t\t\t\t\t\t<li><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ Product.name }}\"></li>
  938. {% else %}
  939. \t\t\t\t\t\t\t\t\t\t<li><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\"></li>
  940. {% endfor %}
  941. \t\t\t\t\t\t\t\t\t</ul>
  942. \t\t\t\t\t\t\t\t</div>
  943. \t\t\t\t\t\t\t\t<div class=\"productsDetail-main__image-sub\">
  944.                                     <div class=\"modal-box js-productsImage-thumb\">
  945.                                         <div class=\"is-modal-close\">✕</div>
  946.                                         <ul>
  947. {% for ProductImage in Product.ProductImage %}
  948.                                             <li><a href=\"#\" class=\"{{ loop.index0==0 ? 'is-active' : '' }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ Product.name }}\"></a></li>
  949. {% endfor %}
  950.                                         </ul>
  951.                                     </div>
  952. \t\t\t\t\t\t\t\t</div>
  953. \t\t\t\t\t\t\t</figure>
  954. \t\t\t\t\t\t\t<div class=\"productsDetail-main__info\">
  955. \t\t\t\t\t\t\t\t<p class=\"brand\">ブランド:
  956. {% for ProductCategory in Product.ProductCategories %}
  957. \t{% for Category_ in ProductCategory.Category.path %}
  958. \t\t{% if Category_.parent is not null %}
  959. \t\t\t{% if Category_.parent.id in [21] %}
  960. \t\t\t\t{{ Category_.name }}
  961. \t\t\t{% endif %}
  962. \t\t{% endif %}
  963. \t{% endfor %}
  964. {% endfor %}
  965. \t\t\t\t\t\t\t\t</p>
  966. \t\t\t\t\t\t\t\t<h1 class=\"name\">{{ Product.name }}</h1>
  967.                                 <div class=\"yotpo bottomLine\" data-yotpo-product-id=\"{{ Product.id }}\"></div>
  968. \t\t\t\t\t\t\t\t{# <p class=\"price\">¥<span>74,800</span><span class=\"zei\">税込</span></p> #}
  969. {% if Product.hasProductClass -%}
  970. \t{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  971. \t\t\t\t\t\t\t\t<p class=\"price\"><span class=\"price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span><span class=\"zei\">{{ '税込'|trans }}</span></p>
  972. \t{% else %}
  973. \t\t\t\t\t\t\t\t<p class=\"price\"><span class=\"price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span><span class=\"zei\">{{ '税込'|trans }}</span></p>
  974. \t{% endif %}
  975. {% else %}
  976. \t\t\t\t\t\t\t\t<p class=\"price\"><span class=\"price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span><span class=\"zei\">{{ '税込'|trans }}</span></p>
  977. {% endif %}
  978. \t\t\t\t\t\t\t<form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  979. {% if Product.stock_find %}
  980. \t{% if form.classcategory_id1 is defined %}
  981. \t\t\t\t\t\t\t\t<div class=\"color c-select--a\">
  982. \t\t{{ form_widget(form.classcategory_id1) }}
  983. \t\t{{ form_errors(form.classcategory_id1) }}
  984. \t\t\t\t\t\t\t\t</div>
  985. \t\t{% if form.classcategory_id2 is defined %}
  986. \t\t\t\t\t\t\t\t<div class=\"size c-select--a\">
  987. \t\t{{ form_widget(form.classcategory_id2) }}
  988. \t\t{{ form_errors(form.classcategory_id2) }}
  989. \t\t\t\t\t\t\t\t</div>
  990. \t\t{% endif %}
  991. \t{% endif %}
  992. \t\t\t\t\t\t\t<div class=\"c-input--a\">
  993. \t\t\t\t\t\t\t\t{{ form_widget(form.quantity) }}
  994. \t\t\t\t\t\t\t\t{{ form_errors(form.quantity) }}
  995. \t\t\t\t\t\t\t</div>
  996. \t\t\t\t\t\t\t\t\t<dl class=\"info u-cfx\">
  997. \t\t\t\t\t\t\t\t\t\t<dt>商品ID</dt><dd>:<span class=\"product-code-default\"></span></dd>
  998. \t\t\t\t\t\t\t\t\t\t<dt>発送日数</dt><dd>:<span class=\"delivery-duration-default\"></span></dd>
  999. \t\t\t\t\t\t\t\t\t</dl>
  1000. \t\t\t\t\t\t\t\t<div class=\"cart\"><button type=\"submit\" class=\"c-button--h add-cart\"><span>{{ 'カートに入れる'|trans }}</span></button></div>
  1001. {% else %}
  1002. \t\t\t\t\t\t\t\t<div class=\"cart\"><button type=\"button\" class=\"c-button--h\" disabled=\"disabled\">{{ 'ただいま品切れ中です。'|trans }}</button></div>
  1003. {% endif %}
  1004. \t\t\t\t\t\t\t{{ form_rest(form) }}
  1005. \t\t\t\t\t\t\t</form>
  1006. {% if BaseInfo.option_favorite_product %}
  1007. \t\t\t\t\t\t\t<div class=\"recommend\">
  1008. \t\t\t\t\t\t\t\t<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1009. \t{% if is_favorite == false %}
  1010. \t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"c-button--k\"><img src=\"{{ asset('assets/img/icon_heart.svg') }}\" alt=\"{{ 'お気に入りに追加'|trans }}\" class=\"icon\"></button>
  1011. \t{% else %}
  1012. \t\t\t\t\t\t\t\t\t<button type=\"submit\" id=\"favorite\" class=\"c-button--k is-active\"><img src=\"{{ asset('assets/img/icon_heart.svg') }}\" alt=\"{{ 'お気に入りに追加済みです。'|trans }}\" class=\"icon\"></button>
  1013. \t{% endif %}
  1014. \t\t\t\t\t\t\t\t</form>
  1015. \t\t\t\t\t\t\t</div>
  1016. {% endif %}
  1017. \t\t\t\t\t\t\t\t<p class=\"link\">
  1018. \t\t\t\t\t\t\t\t\t<a href=\"{{ url('help_guide') }}#delivery\" target=\"_blank\" class=\"c-button--j\">発送方法・送料・納期についてはこちら</a>
  1019. \t\t\t\t\t\t\t\t</p>
  1020. \t\t\t\t\t\t\t\t<p class=\"link\">
  1021. \t\t\t\t\t\t\t\t\t<a href=\"{{ url('contact') }}?product_id={{ Product.id }}\" target=\"_blank\" class=\"c-button--j\">商品についてお問い合わせはこちら</a>
  1022. \t\t\t\t\t\t\t\t</p>
  1023. \t\t\t\t\t\t\t</div>
  1024. \t\t\t\t\t\t</section>
  1025. \t\t\t\t\t\t<section class=\"productsDetail-main-under\">
  1026. \t\t\t\t\t\t\t<div class=\"productsDetail-main__detail js-toggle--a def-open\">
  1027. \t\t\t\t\t\t\t\t<div class=\"productsDetail-main__detail-body\">
  1028.                                 <h2 class=\"productsDetail-main__detail-button\"><span class=\"c-button--i no-link\">配送について</span></h2>
  1029. \t\t\t\t\t\t\t\t\t<div class=\"block\">
  1030.                                         <div class=\"box\">
  1031.                                             <h2 class=\"title u-pc\">配送について</h2>
  1032.                                             <p class=\"text ec-Description2\">{{ Product.description2|raw|nl2br }}</p>
  1033.                                         </div>
  1034.                                     </div>
  1035.                                     <h2 class=\"productsDetail-main__detail-button js-toggle__button\"><a href=\"#\" class=\"c-button--i\">商品説明</a></h2>
  1036.                                     <div class=\"block js-toggle__body\">
  1037.                                         <div class=\"box\">
  1038.                                             <h3 class=\"title\">{{ Product.section2_title }}</h3>
  1039.                                             <div class=\"text\">
  1040.                                                 <p>{{ Product.section2_body|raw|nl2br }}</p>
  1041.                                             </div>
  1042.                                         </div>
  1043.                                         <div class=\"box\">
  1044.                                             <h3 class=\"title\">商品詳細</h3>
  1045.                                             <div class=\"text\">
  1046.                                                 <p>{{ Product.description_detail|raw|nl2br }}</p>
  1047.                                             </div>
  1048.                                         </div>
  1049.                                         <div class=\"box\">
  1050.                                             <h3 class=\"title\">サイズ</h3>
  1051.                                             <div class=\"text\">
  1052.                                                 <p>{{ Product.section3_body|raw|nl2br }}</p>
  1053.                                             </div>
  1054.                                         </div>
  1055.                                         <div class=\"box\">
  1056.                                             <h3 class=\"title\">素材</h3>
  1057.                                             <div class=\"text\">
  1058.                                                 <p>{{ Product.section4_body|raw|nl2br }}</p>
  1059.                                             </div>
  1060.                                         </div>
  1061.                                         <div class=\"box\">
  1062.                                             <h3 class=\"title\">その他</h3>
  1063.                                             <div class=\"text\">
  1064.                                                 <p>{{ Product.section5_body|raw|nl2br }}</p>
  1065.                                             </div>
  1066.                                         </div>
  1067.                                         <div class=\"box\">
  1068.                                             <h3 class=\"title\">{{ Product.section1_title }}</h3>
  1069.                                             <div class=\"text\">
  1070.                                                 <p>{{ Product.section1_body|raw|nl2br }}</p>
  1071.                                             </div>
  1072.                                         </div>
  1073.                                     </div>
  1074. \t\t\t\t\t\t\t    </div>
  1075. \t\t\t\t\t\t\t</div>
  1076. \t\t\t\t\t\t</section>
  1077.                         <div class=\"chatplus-bt\">
  1078.                             <img src=\"https://app.chatplus.jp/image/button/7fd82760/2/6716f0c26e926\" alt=\"\" style=\"cursor:pointer;\" onclick='window.open(\"https://app.chatplus.jp/chat/visitor/7fd82760_2?t=btn&bw=410&bh=520&bg=%23d6cbac\", \"chat_plus_jp_window\", \"width=410, height=520, menubar=no, toolbar=no, scrollbars=no, location=no\");'>
  1079.                         </div>
  1080.                         {# YOTPO #}
  1081.                         <div class=\"yotpo yotpo-main-widget review-area\"
  1082.                         data-product-id=\"{{ Product.id }}\"
  1083.                         data-name=\"{{ Product.name }}\"
  1084.                         data-url=\"{{ url('product_detail',{'id': Product.id}) }}\"
  1085.                         data-price=\"{{ Product.getPrice02IncTaxMin }}\"
  1086.                         data-currency=\"JPY\"
  1087.                         {% if Product.ProductImage %}
  1088.                         data-image-url=\"{{ url('homepage')|trim('/') }}{{ asset(Product.ProductImage[0], 'save_image') }}\"
  1089.                         {% endif %}
  1090.                         data-description=\"\">
  1091.                         </div>
  1092. \t\t\t\t\t</div>
  1093. \t\t\t\t</div>
  1094. \t\t\t<!-- / --></div>
  1095. {{ include('Block/product_gallery.twig') }}
  1096. {{ include('Block/recommend_product_block.twig') }}
  1097. {% endblock %}""Product/detail_1.twig""/var/www/eccube4/app/template/default/Product/detail_1.twig");
  1098.     }
  1099.     
  1100.     public function checkSecurity()
  1101.     {
  1102.         static $tags = array("set" => 13"if" => 75"for" => 216);
  1103.         static $filters = array("escape" => 23"raw" => 64"json_encode" => 77"trans" => 135"length" => 214"no_image_product" => 219"price" => 251"nl2br" => 314"trim" => 370);
  1104.         static $functions = array("random" => 42"class_categories_as_json" => 64"asset" => 217"url" => 258"form_widget" => 262"form_errors" => 263"form_rest" => 286"include" => 379);
  1105.         try {
  1106.             $this->sandbox->checkSecurity(
  1107.                 ['set''if''for'],
  1108.                 ['escape''raw''json_encode''trans''length''no_image_product''price''nl2br''trim'],
  1109.                 ['random''class_categories_as_json''asset''url''form_widget''form_errors''form_rest''include'],
  1110.                 $this->source
  1111.             );
  1112.         } catch (SecurityError $e) {
  1113.             $e->setSourceContext($this->source);
  1114.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  1115.                 $e->setTemplateLine($tags[$e->getTagName()]);
  1116.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  1117.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  1118.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  1119.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  1120.             }
  1121.             throw $e;
  1122.         }
  1123.     }
  1124. }