var/cache/dev/twig/70/7040c9a27e9bc554922ad47059444f84.php line 55

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_94c956d92b9ad846edf2971ae2d59ff2 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  28.         $this->checkSecurity();
  29.     }
  30.     protected function doGetParent(array $context)
  31.     {
  32.         // line 11
  33.         return "default_frame.twig";
  34.     }
  35.     protected function doDisplay(array $context, array $blocks = [])
  36.     {
  37.         $macros $this->macros;
  38.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  39.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  40.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  41.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  42.         // line 13
  43.         $context["body_class"] = "product_page";
  44.         // line 11
  45.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"11);
  46.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  47.         
  48.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  49.         
  50.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  51.     }
  52.     // line 15
  53.     public function block_stylesheet($context, array $blocks = [])
  54.     {
  55.         $macros $this->macros;
  56.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  57.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  59.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  60.         // line 16
  61.         echo "    <style>
  62.         .slick-slider {
  63.             margin-bottom: 30px;
  64.         }
  65.         .slick-dots {
  66.             position: absolute;
  67.             bottom: -45px;
  68.             display: block;
  69.             width: 100%;
  70.             padding: 0;
  71.             list-style: none;
  72.             text-align: center;
  73.         }
  74.         .slick-dots li {
  75.             position: relative;
  76.             display: inline-block;
  77.             width: 20px;
  78.             height: 20px;
  79.             margin: 0 5px;
  80.             padding: 0;
  81.             cursor: pointer;
  82.         }
  83.         .slick-dots li button {
  84.             font-size: 0;
  85.             line-height: 0;
  86.             display: block;
  87.             width: 20px;
  88.             height: 20px;
  89.             padding: 5px;
  90.             cursor: pointer;
  91.             color: transparent;
  92.             border: 0;
  93.             outline: none;
  94.             background: transparent;
  95.         }
  96.         .slick-dots li button:hover,
  97.         .slick-dots li button:focus {
  98.             outline: none;
  99.         }
  100.         .slick-dots li button:hover:before,
  101.         .slick-dots li button:focus:before {
  102.             opacity: 1;
  103.         }
  104.         .slick-dots li button:before {
  105.             content: \" \";
  106.             line-height: 20px;
  107.             position: absolute;
  108.             top: 0;
  109.             left: 0;
  110.             width: 12px;
  111.             height: 12px;
  112.             text-align: center;
  113.             opacity: .25;
  114.             background-color: black;
  115.             border-radius: 50%;
  116.         }
  117.         .slick-dots li.slick-active button:before {
  118.             opacity: .75;
  119.             background-color: black;
  120.         }
  121.         .slick-dots li button.thumbnail img {
  122.             width: 0;
  123.             height: 0;
  124.         }
  125.         .item_visual .slide-item {
  126.             display: flex;
  127.             align-items: center;
  128.             align-content: center;
  129.             justify-content: center;
  130.             min-height: 100vw;
  131.             text-align: center;
  132.         }
  133.         .item_visual .slide-item img {
  134.             max-height: 100vw;
  135.             width: auto;
  136.             margin: auto;
  137.         }
  138.         .item_visual .slide-item span {
  139.             display: block;
  140.             padding-top: 100%;
  141.             position: relative;
  142.             width: 100%;
  143.         }
  144.         .item_visual .slide-item span img {
  145.             position: absolute;
  146.             top: 50%;
  147.             left: 50%;
  148.             transform: translate(-50%,-50%);
  149.         }
  150.         @media only screen and (min-width: 768px) {
  151.             .item_visual .slide-item {
  152.                 min-height: 0;
  153.             }
  154.             .item_visual .slide-item img {
  155.                 max-height: 100%;
  156.             }
  157.         }
  158.     </style>
  159. ";
  160.         
  161.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  162.         
  163.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  164.     }
  165.     // line 127
  166.     public function block_javascript($context, array $blocks = [])
  167.     {
  168.         $macros $this->macros;
  169.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  170.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  171.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  172.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  173.         // line 128
  174.         echo "    <script>
  175.         eccube.classCategories = ";
  176.         // line 129
  177.         echo $this->extensions['Customize\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.'129$this->source); })()), 129$this->source));
  178.         echo ";
  179.         eccube.productStockInfo = {};
  180.         eccube.productStockInfo.stockMax = ";
  181.         // line 131
  182.         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.'131$this->source); })()), "StockMax", [], "any"falsefalsetrue131), 131$this->source), "html"nulltrue);
  183.         echo ";
  184.         eccube.productStockInfo.stockUnlimitedMax = ";
  185.         // line 132
  186.         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.'132$this->source); })()), "getStockUnlimitedMax", [], "method"falsefalsetrue132)) {
  187.             echo "1";
  188.         } else {
  189.             echo "0";
  190.         }
  191.         echo ";
  192.         // 規格2に選択肢を割り当てる。
  193.         function fnSetClassCategories(form, classcat_id2_selected) {
  194.             var \$form = \$(form);
  195.             var product_id = \$form.find('input[name=product_id]').val();
  196.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  197.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  198.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  199.         }
  200.         ";
  201.         // line 143
  202.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue143)) {
  203.             // line 144
  204.             echo "        fnSetClassCategories(
  205.             \$('#form1'), ";
  206.             // line 145
  207.             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.'145$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue145), "vars", [], "any"falsefalsetrue145), "value", [], "any"falsefalsetrue145), 145$this->source));
  208.             echo "
  209.         );
  210.         ";
  211.         } elseif (twig_get_attribute($this->env$this->source,         // line 147
  212. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue147)) {
  213.             // line 148
  214.             echo "        eccube.checkStock(\$('#form1'), ";
  215.             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.'148$this->source); })()), "id", [], "any"falsefalsetrue148), 148$this->source), "html"nulltrue);
  216.             echo ", ";
  217.             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.'148$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue148), "vars", [], "any"falsefalsetrue148), "value", [], "any"falsefalsetrue148), 148$this->source));
  218.             echo ", null);
  219.         ";
  220.         }
  221.         // line 150
  222.         echo "    </script>
  223.     <script>
  224.         \$(function() {
  225.             // bfcache無効化
  226.             \$(window).bind('pageshow', function(event) {
  227.                 if (event.originalEvent.persisted) {
  228.                     location.reload(true);
  229.                 }
  230.             });
  231.             \$('.item_visual').slick({
  232.                 dots: false,
  233.                 arrows: true,
  234.                 asNavFor: '.item_nav',
  235.                 responsive: [{
  236.                     breakpoint: 768,
  237.                     settings: {
  238.                         dots: false
  239.                     }
  240.                 }]
  241.             });
  242.             \$('.item_nav').slick({
  243. \t\t\t\tasNavFor: '.item_visual',
  244. \t\t\t\tarrows: false,
  245. \t\t\t\tfocusOnSelect: true,
  246. \t\t\t\tslidesToShow: 5,
  247. \t\t\t\tslidesToScroll: 1,
  248. \t\t\t\tcenterMode: false,
  249. \t\t\t\tcenterPadding: '0px'
  250. \t\t\t});
  251.             /*
  252.             \$('.slideThumb').on('click', function() {
  253.                 var index = \$(this).attr('data-index');
  254.                 \$('.item_visual').slick('slickGoTo', index, false);
  255.             })
  256.             */
  257.         });
  258.     </script>
  259.     <script>
  260.         \$(function() {
  261.             \$('.add-cart').on('click', function(event) {
  262.                 ";
  263.         // line 191
  264.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue191)) {
  265.             // line 192
  266.             echo "                // 規格1フォームの必須チェック
  267.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  268.                     \$('#classcategory_id1')[0].setCustomValidity('";
  269.             // line 194
  270.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  271.             echo "');
  272.                     return true;
  273.                 } else {
  274.                     \$('#classcategory_id1')[0].setCustomValidity('');
  275.                 }
  276.                 ";
  277.         }
  278.         // line 200
  279.         echo "
  280.                 ";
  281.         // line 201
  282.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue201)) {
  283.             // line 202
  284.             echo "                // 規格2フォームの必須チェック
  285.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  286.                     \$('#classcategory_id2')[0].setCustomValidity('";
  287.             // line 204
  288.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  289.             echo "');
  290.                     return true;
  291.                 } else {
  292.                     \$('#classcategory_id2')[0].setCustomValidity('');
  293.                 }
  294.                 ";
  295.         }
  296.         // line 210
  297.         echo "
  298.                 // 個数フォームのチェック
  299.                 if (\$('#quantity').val() < 1) {
  300.                     \$('#quantity')[0].setCustomValidity('";
  301.         // line 213
  302.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  303.         echo "');
  304.                     return true;
  305.                 } else {
  306.                     \$('#quantity')[0].setCustomValidity('');
  307.                 }
  308.                 event.preventDefault();
  309.                 \$form = \$('#form1');
  310.                 \$.ajax({
  311.                     url: \$form.attr('action'),
  312.                     type: \$form.attr('method'),
  313.                     data: \$form.serialize(),
  314.                     dataType: 'json',
  315.                     beforeSend: function(xhr, settings) {
  316.                         // Buttonを無効にする
  317.                         \$('.add-cart').prop('disabled', true);
  318.                     }
  319.                 }).done(function(data) {
  320.                     // レスポンス内のメッセージをalertで表示
  321.                     \$.each(data.messages, function() {
  322.                         \$('#ec-modal-header').html(this);
  323.                     });
  324.                     \$('.ec-modal').show()
  325.                     // カートブロックを更新する
  326.                     \$.ajax({
  327.                         url: \"";
  328.         // line 240
  329.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  330.         echo "\",
  331.                         type: 'GET',
  332.                         dataType: 'html'
  333.                     }).done(function(html) {
  334.                         \$('.ec-headerRole__cart').html(html);
  335.                     });
  336.                 }).fail(function(data) {
  337.                     alert('";
  338.         // line 247
  339.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  340.         echo "');
  341.                 }).always(function(data) {
  342.                     // Buttonを有効にする
  343.                     \$('.add-cart').prop('disabled', false);
  344.                 });
  345.             });
  346.         });
  347.         \$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  348.             \$('.ec-modal').hide()
  349.         });
  350.     </script>
  351. ";
  352.         
  353.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  354.         
  355.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  356.     }
  357.     // line 261
  358.     public function block_main($context, array $blocks = [])
  359.     {
  360.         $macros $this->macros;
  361.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  362.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  363.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  364.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  365.         // line 262
  366.         echo "     <div class=\"ym-topicpath\">
  367.         <ul>
  368.             <li><a href=\"";
  369.         // line 264
  370.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  371.         echo "\">HOME</a></li>
  372.             <li><a href=\"";
  373.         // line 265
  374.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  375.         echo "products/list\">商品一覧</a></li>
  376.             ";
  377.         // line 266
  378.         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.'266$this->source); })()), "ProductCategories", [], "any"falsefalsetrue266))) {
  379.             // line 267
  380.             echo "                ";
  381.             $context["ProductCategory"] = twig_first($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.'267$this->source); })()), "ProductCategories", [], "any"falsefalsetrue267), 267$this->source));
  382.             // line 268
  383.             echo "                <li><a href=\"";
  384.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  385.             echo "?category_id=";
  386.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductCategory"]) || array_key_exists("ProductCategory"$context) ? $context["ProductCategory"] : (function () { throw new RuntimeError('Variable "ProductCategory" does not exist.'268$this->source); })()), "Category", [], "any"falsefalsetrue268), "id", [], "any"falsefalsetrue268), 268$this->source), "html"nulltrue);
  387.             echo "\">";
  388.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductCategory"]) || array_key_exists("ProductCategory"$context) ? $context["ProductCategory"] : (function () { throw new RuntimeError('Variable "ProductCategory" does not exist.'268$this->source); })()), "Category", [], "any"falsefalsetrue268), "name", [], "any"falsefalsetrue268), 268$this->source), "html"nulltrue);
  389.             echo "</a>
  390.                 </li>
  391.             ";
  392.         }
  393.         // line 271
  394.         echo "            <li>";
  395.         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.'271$this->source); })()), "name", [], "any"falsefalsetrue271), 271$this->source), "html"nulltrue);
  396.         echo "</li>
  397.         </ul>
  398.     </div>
  399.     
  400.     <div class=\"ec-productRole\">
  401.             <!--<div class=\"ym-product_tags\">
  402. \t\t\t\t<span class=\"ym-tag ym-tag_price\">特別価格</span>
  403. \t\t\t</div>-->
  404. \t\t\t<div class=\"ec-productRole__title\">
  405. \t\t\t\t<h2 class=\"ec-headingTitle\">";
  406.         // line 280
  407.         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.'280$this->source); })()), "name", [], "any"falsefalsetrue280), 280$this->source), "html"nulltrue);
  408.         echo "</h2>
  409. \t\t\t</div>
  410.         <div class=\"ec-grid2\">
  411.             <div class=\"ec-grid2__cell\">
  412.                 <div class=\"ym-slider\">
  413.                     <div class=\"ec-sliderItemRole\">
  414.                         <div class=\"item_visual\">
  415.                             ";
  416.         // line 287
  417.         $context['_parent'] = $context;
  418.         $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.'287$this->source); })()), "ProductImage", [], "any"falsefalsetrue287));
  419.         $context['_iterated'] = false;
  420.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  421.             // line 288
  422.             echo "                                <div class=\"slide-item\"><span><img src=\"";
  423.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 288$this->source), "save_image"), "html"nulltrue);
  424.             echo "\"></span></div>
  425.                             ";
  426.             $context['_iterated'] = true;
  427.         }
  428.         if (!$context['_iterated']) {
  429.             // line 290
  430.             echo "                                <div class=\"slide-item\"><span><img src=\"";
  431.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Customize\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  432.             echo "\"/></span></div>
  433.                             ";
  434.         }
  435.         $_parent $context['_parent'];
  436.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  437.         $context array_intersect_key($context$_parent) + $_parent;
  438.         // line 292
  439.         echo "                        </div>
  440.                         <div class=\"item_nav\">
  441.                             ";
  442.         // line 294
  443.         $context['_parent'] = $context;
  444.         $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.'294$this->source); })()), "ProductImage", [], "any"falsefalsetrue294));
  445.         $context['loop'] = [
  446.           'parent' => $context['_parent'],
  447.           'index0' => 0,
  448.           'index'  => 1,
  449.           'first'  => true,
  450.         ];
  451.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  452.             $length count($context['_seq']);
  453.             $context['loop']['revindex0'] = $length 1;
  454.             $context['loop']['revindex'] = $length;
  455.             $context['loop']['length'] = $length;
  456.             $context['loop']['last'] = === $length;
  457.         }
  458.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  459.             // line 295
  460.             echo "                                <div class=\"slideThumb\" data-index=\"";
  461.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsetrue295), 295$this->source), "html"nulltrue);
  462.             echo "\"><span><img src=\"";
  463.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 295$this->source), "save_image"), "html"nulltrue);
  464.             echo "\"></span></div>
  465.                             ";
  466.             ++$context['loop']['index0'];
  467.             ++$context['loop']['index'];
  468.             $context['loop']['first'] = false;
  469.             if (isset($context['loop']['length'])) {
  470.                 --$context['loop']['revindex0'];
  471.                 --$context['loop']['revindex'];
  472.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  473.             }
  474.         }
  475.         $_parent $context['_parent'];
  476.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  477.         $context array_intersect_key($context$_parent) + $_parent;
  478.         // line 297
  479.         echo "                        </div>
  480.                     </div>
  481.                 </div>
  482.                 <div class=\"ec-productRole__description\">
  483.                     ";
  484.         // line 301
  485.         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.'301$this->source); })()), "description_detail", [], "any"falsefalsetrue301), 301$this->source));
  486.         echo "
  487.                 </div>
  488.             </div>
  489.             <div class=\"ec-grid2__cell\">
  490.                 <div class=\"ec-productRole__profile ym-productRole__profile ym-bg_gray\">
  491.                     ";
  492.         // line 307
  493.         echo "                    ";
  494.         // line 314
  495.         echo "                    ";
  496.         // line 315
  497.         echo "                    <div class=\"ec-productRole__title\">
  498.                         <h2 class=\"ec-headingTitle\">";
  499.         // line 316
  500.         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.'316$this->source); })()), "name", [], "any"falsefalsetrue316), 316$this->source), "html"nulltrue);
  501.         echo "</h2>
  502.                     </div>
  503.                     ";
  504.         // line 319
  505.         echo "                    <ul class=\"ec-productRole__tags\">
  506.                         ";
  507.         // line 320
  508.         $context['_parent'] = $context;
  509.         $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.'320$this->source); })()), "Tags", [], "any"falsefalsetrue320));
  510.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  511.             // line 321
  512.             echo "                            <li class=\"ec-productRole__tag tag_";
  513.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsetrue321), 321$this->source), "html"nulltrue);
  514.             echo "\">";
  515.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed($context["Tag"], 321$this->source), "html"nulltrue);
  516.             echo "</li>
  517.                         ";
  518.         }
  519.         $_parent $context['_parent'];
  520.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  521.         $context array_intersect_key($context$_parent) + $_parent;
  522.         // line 323
  523.         echo "                    </ul>
  524.                     <div class=\"ym-productRole__price\">
  525.                     ";
  526.         // line 326
  527.         echo "                    <div class=\"ym-price_regular\">
  528.                     ";
  529.         // line 327
  530.         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.'327$this->source); })()), "hasProductClass", [], "any"falsefalsetrue327)) {
  531.             // line 328
  532.             echo "<div class=\"ec-productRole__priceRegular\">
  533.                         ";
  534.             // line 329
  535.             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.'329$this->source); })()), "getPrice01Min", [], "any"falsefalsetrue329)) && (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.'329$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsetrue329) == 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.'329$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsetrue329)))) {
  536.                 // line 330
  537.                 echo "                            <span class=\"ec-productRole__priceRegularPrice\">";
  538.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  539.                 echo ":<span class=\"price01-default\">";
  540.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'330$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsetrue330), 330$this->source)), "html"nulltrue);
  541.                 echo "</span></span>
  542.                             <span class=\"ec-productRole__priceRegularTax\">";
  543.                 // line 331
  544.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  545.                 echo "</span>
  546.                         ";
  547.             } elseif (( !(null === twig_get_attribute($this->env$this->source,             // line 332
  548. (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'332$this->source); })()), "getPrice01Min", [], "any"falsefalsetrue332)) &&  !(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.'332$this->source); })()), "getPrice01Max", [], "any"falsefalsetrue332)))) {
  549.                 // line 333
  550.                 echo "                            <span class=\"ec-productRole__priceRegularPrice\">";
  551.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  552.                 echo ":<span class=\"price01-default\">";
  553.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'333$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsetrue333), 333$this->source)), "html"nulltrue);
  554.                 echo "~ ";
  555.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'333$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsetrue333), 333$this->source)), "html"nulltrue);
  556.                 echo "</span></span>
  557.                             <!--<span class=\"ec-productRole__priceRegularTax\">";
  558.                 // line 334
  559.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  560.                 echo "</span>-->
  561.                         ";
  562.             }
  563.             // line 336
  564.             echo "                        </div>
  565.                     ";
  566.         } else {
  567.             // line 338
  568.             echo "                        ";
  569.             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.'338$this->source); })()), "getPrice01Max", [], "any"falsefalsetrue338))) {
  570.                 // line 339
  571.                 echo "                            <span class=\"ec-productRole__priceRegularPrice\">";
  572.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  573.                 echo ":";
  574.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'339$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsetrue339), 339$this->source)), "html"nulltrue);
  575.                 echo "</span>
  576.                             <!--<span class=\"ec-productRole__priceRegularTax\">";
  577.                 // line 340
  578.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  579.                 echo "</span>-->
  580.                         ";
  581.             }
  582.             // line 342
  583.             echo "                    ";
  584.         }
  585.         // line 343
  586.         echo "                    </div>
  587.                     ";
  588.         // line 345
  589.         echo "                        <div class=\"ec-productRole__price\">
  590.                         <!--<span class=\"ym-tag ym-tag_price\">特別価格</span>-->
  591.                         ";
  592.         // line 347
  593.         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.'347$this->source); })()), "hasProductClass", [], "any"falsefalsetrue347)) {
  594.             // line 348
  595.             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.'348$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue348) == 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.'348$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsetrue348))) {
  596.                 // line 349
  597.                 echo "                                <div class=\"ec-price\">
  598.                                     <span class=\"ec-price__price price02-default\">";
  599.                 // line 350
  600.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'350$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue350), 350$this->source)), "html"nulltrue);
  601.                 echo "</span>
  602.                                     <!--<span class=\"ec-price__tax\">";
  603.                 // line 351
  604.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  605.                 echo "</span>-->
  606.                                 </div>
  607.                             ";
  608.             } else {
  609.                 // line 354
  610.                 echo "                                <div class=\"ec-price\">
  611.                                     <span class=\"ec-price__price price02-default\">";
  612.                 // line 355
  613.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'355$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue355), 355$this->source)), "html"nulltrue);
  614.                 echo " ~ ";
  615.                 echo twig_escape_filter($this->env$this->extensions['Customize\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.'355$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsetrue355), 355$this->source)), "html"nulltrue);
  616.                 echo "</span>
  617.                                     <!--<span class=\"ec-price__tax\">";
  618.                 // line 356
  619.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  620.                 echo "</span>-->
  621.                                 </div>
  622.                             ";
  623.             }
  624.             // line 359
  625.             echo "                        ";
  626.         } else {
  627.             // line 360
  628.             echo "                            <div class=\"ec-price\">
  629.                                 <span class=\"ec-price__price\">";
  630.             // line 361
  631.             echo twig_escape_filter($this->env$this->extensions['Customize\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.'361$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue361), 361$this->source)), "html"nulltrue);
  632.             echo "</span>
  633.                                 <!--<span class=\"ec-price__tax\">";
  634.             // line 362
  635.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  636.             echo "</span>-->
  637.                             </div>
  638.                         ";
  639.         }
  640.         // line 365
  641.         echo "<?php if (false): ?>\t\t\t\t\t\t\t
  642. \t\t\t\t\t\t";
  643.         // line 366
  644.         if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("add_priceinfo"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))) {
  645.             // line 367
  646.             echo "\t\t\t\t\t\t<div style=\"margin: 10px 5px 0;\">
  647. \t\t\t\t\t\t\t";
  648.             // line 368
  649.             echo $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("add_priceinfo"$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.'368$this->source); })()), "id", [], "any"falsefalsetrue368), 368$this->source));
  650.             echo "
  651. \t\t\t\t\t\t</div>
  652. \t\t\t\t\t\t";
  653.         }
  654.         // line 371
  655.         echo "<?php endif; ?>
  656.                         </div>
  657.                     </div>
  658.                     <form action=\"";
  659.         // line 376
  660.         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.'376$this->source); })()), "id", [], "any"falsefalsetrue376)]), "html"nulltrue);
  661.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  662.                         ";
  663.         // line 377
  664.         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.'377$this->source); })()), "stock_find", [], "any"falsefalsetrue377)) {
  665.             // line 378
  666.             echo "                            <div class=\"ec-productRole__actions\">
  667.                                 ";
  668.             // line 379
  669.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue379)) {
  670.                 // line 380
  671.                 echo "                                    <div class=\"ec-select\">
  672.                                         <label class=\"ym-label\"></label>
  673.                                         ";
  674.                 // line 382
  675.                 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.'382$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue382), 382$this->source), 'widget');
  676.                 echo "
  677.                                         ";
  678.                 // line 383
  679.                 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.'383$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue383), 383$this->source), 'errors');
  680.                 echo "
  681.                                     </div>
  682.                                     ";
  683.                 // line 385
  684.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue385)) {
  685.                     // line 386
  686.                     echo "                                        <div class=\"ec-select\">
  687.                                             <label class=\"ym-label\"></label>
  688.                                             ";
  689.                     // line 388
  690.                     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.'388$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue388), 388$this->source), 'widget');
  691.                     echo "
  692.                                             ";
  693.                     // line 389
  694.                     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.'389$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue389), 389$this->source), 'errors');
  695.                     echo "
  696.                                         </div>
  697.                                     ";
  698.                 }
  699.                 // line 392
  700.                 echo "                                ";
  701.             }
  702.             // line 393
  703.             echo "                                <div class=\"ec-numberInput\"><span class=\"ym-label\">";
  704.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  705.             echo "</span>
  706.                                     ";
  707.             // line 394
  708.             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.'394$this->source); })()), "quantity", [], "any"falsefalsetrue394), 394$this->source), 'widget');
  709.             echo "
  710.                                     <span class=\"fc-red ym-quantity_desc\" data-stock=\"";
  711.             // line 395
  712.             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.'395$this->source); })()), "StockMax", [], "any"falsefalsetrue395), 395$this->source), "html"nulltrue);
  713.             echo "\" data-max=\"10\">
  714.                                         ";
  715.             // line 396
  716.             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.'396$this->source); })()), "StockMax", [], "any"falsefalsetrue396) <= 10) && (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.'396$this->source); })()), "getStockUnlimitedMax", [], "method"falsefalsetrue396) == 0))) {
  717.                 echo "在庫残りわずか!";
  718.             }
  719.             // line 397
  720.             echo "                                    </span>
  721.                                     ";
  722.             // line 398
  723.             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.'398$this->source); })()), "quantity", [], "any"falsefalsetrue398), 398$this->source), 'errors');
  724.             echo "
  725.                                 </div>
  726.                             </div>
  727.                             <div class=\"ec-productRole__btn ym-btn_cart\">
  728.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  729.                                     ";
  730.             // line 403
  731.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  732.             echo "
  733.                                 </button>
  734.                             </div>
  735.                         ";
  736.         } else {
  737.             // line 407
  738.             echo "                            <div class=\"ec-productRole__btn ym-btn_cart\">
  739.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  740. <?php if (false): ?>
  741. \t\t\t\t\t\t\t\t\t";
  742.             // line 410
  743.             if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("soldout_message"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.'410$this->source); })()), "id", [], "any"falsefalsetrue410))) {
  744.                 // line 411
  745.                 echo "\t\t\t\t\t\t\t\t\t\t";
  746.                 echo $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("soldout_message"$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.'411$this->source); })()), "id", [], "any"falsefalsetrue411), 411$this->source));
  747.                 echo "
  748. \t\t\t\t\t\t\t\t\t";
  749.             } else {
  750.                 // line 413
  751.                 echo "                                    \t";
  752.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("売り切れました"), "html"nulltrue);
  753.                 echo "
  754. \t\t\t\t\t\t\t\t\t";
  755.             }
  756.             // line 415
  757.             echo "<?php endif; ?>
  758.                                 </button>
  759.                             </div>
  760.                         ";
  761.         }
  762.         // line 419
  763.         echo "
  764.                         ";
  765.         // line 420
  766.         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.'420$this->source); })()), 420$this->source), 'rest');
  767.         echo "
  768.                     </form>
  769.                     <div class=\"ec-modal\">
  770.                         <div class=\"ec-modal-overlay\">
  771.                             <div class=\"ec-modal-wrap\">
  772.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  773.         // line 425
  774.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  775.         echo "\" alt=\"\"/></span></span>
  776.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  777.         // line 426
  778.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  779.         echo "</div>
  780.                                 <div class=\"ec-modal-box\">
  781.                                     <div class=\"ec-role\">
  782.                                         <span class=\"ec-inlineBtn--cancel\">";
  783.         // line 429
  784.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  785.         echo "</span>
  786.                                         <a href=\"";
  787.         // line 430
  788.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  789.         echo "\" class=\"ec-inlineBtn--action\">";
  790.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  791.         echo "</a>
  792.                                     </div>
  793.                                 </div>
  794.                             </div>
  795.                         </div>
  796.                     </div>
  797.                     ";
  798.         // line 436
  799.         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.'436$this->source); })()), "option_favorite_product", [], "any"falsefalsetrue436)) {
  800.             // line 437
  801.             echo "                        <form action=\"";
  802.             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.'437$this->source); })()), "id", [], "any"falsefalsetrue437)]), "html"nulltrue);
  803.             echo "\" method=\"post\">
  804.                             <div class=\"ec-productRole__btn ym-btn_favorite\">
  805.                                 ";
  806.             // line 439
  807.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'439$this->source); })()) == false)) {
  808.                 // line 440
  809.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  810.                                         ";
  811.                 // line 441
  812.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  813.                 echo "
  814.                                     </button>
  815.                                 ";
  816.             } else {
  817.                 // line 444
  818.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  819.                                             disabled=\"disabled\">";
  820.                 // line 445
  821.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html"nulltrue);
  822.                 echo "
  823.                                     </button>
  824.                                 ";
  825.             }
  826.             // line 448
  827.             echo "                            </div>
  828.                         </form>
  829.                     ";
  830.         }
  831.         // line 451
  832.         echo "                    <div class=\"ym-product_sns fc-product_sns\"></div>
  833.                     <p class=\"ym-guice_link\"><a href=\"/guide\">ご利用ガイド</a></p>
  834.                 </div>
  835.             </div>
  836.         </div>
  837.         ";
  838.         // line 456
  839.         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.'456$this->source); })()), "freearea", [], "any"falsefalsetrue456)) {
  840.             // line 457
  841.             echo "\t\t <div class=\"ec-productRole__description\">
  842. \t\t\t<div class=\"ym-product_description\">
  843. \t\t\t\t<p class=\"ym-heading ym-heading_lv2\">商品情報</p>
  844. \t\t\t";
  845.             // line 460
  846.             echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$contexttwig_template_from_string($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.'460$this->source); })()), "freearea", [], "any"falsefalsetrue460), 460$this->source)));
  847.             echo "
  848. <?php if (false): ?>
  849. \t\t\t";
  850.             // line 462
  851.             if (($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("size_detail"twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'462$this->source); })()), "id", [], "any"falsefalsetrue462)) || $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("side_image"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.'462$this->source); })()), "id", [], "any"falsefalsetrue462)))) {
  852.                 // line 463
  853.                 echo "\t\t\t\t<p class=\"ym-heading ym-heading_lv2\">サイズ詳細</p>
  854. \t\t\t\t";
  855.                 // line 464
  856.                 if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("size_detail"twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'464$this->source); })()), "id", [], "any"falsefalsetrue464))) {
  857.                     // line 465
  858.                     echo "\t\t\t\t\t";
  859.                     echo $this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("size_detail"$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.'465$this->source); })()), "id", [], "any"falsefalsetrue465), 465$this->source));
  860.                     echo "
  861. \t\t\t\t";
  862.                 }
  863.                 // line 467
  864.                 echo "\t\t\t\t";
  865.                 if ($this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("side_image"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.'467$this->source); })()), "id", [], "any"falsefalsetrue467))) {
  866.                     // line 468
  867.                     echo "\t\t\t\t\t<div class=\"ym-scroll\" style=\"margin-top: 20px;\">
  868. \t\t\t\t\t\t<img src=\"";
  869.                     // line 469
  870.                     echo twig_escape_filter($this->env$this->extensions['Plugin\TabaCustomFields2\Twig\Extension\TwigExtension']->getProduct("side_image"$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.'469$this->source); })()), "id", [], "any"falsefalsetrue469), 469$this->source)), "html"nulltrue);
  871.                     echo "\" alt=\"\">
  872. \t\t\t\t\t</div>
  873. \t\t\t\t";
  874.                 }
  875.                 // line 472
  876.                 echo "\t\t\t";
  877.             }
  878.             // line 473
  879.             echo "<?php endif; ?>
  880. \t\t\t </div>
  881. \t\t</div>
  882.         ";
  883.         }
  884.         // line 477
  885.         echo "    </div>
  886. ";
  887.         
  888.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  889.         
  890.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  891.     }
  892.     public function getTemplateName()
  893.     {
  894.         return "Product/detail.twig";
  895.     }
  896.     public function isTraitable()
  897.     {
  898.         return false;
  899.     }
  900.     public function getDebugInfo()
  901.     {
  902.         return array (  929 => 477,  923 => 473,  920 => 472,  914 => 469,  911 => 468,  908 => 467,  902 => 465,  900 => 464,  897 => 463,  895 => 462,  890 => 460,  885 => 457,  883 => 456,  876 => 451,  871 => 448,  865 => 445,  862 => 444,  856 => 441,  853 => 440,  851 => 439,  845 => 437,  843 => 436,  832 => 430,  828 => 429,  822 => 426,  818 => 425,  810 => 420,  807 => 419,  801 => 415,  795 => 413,  789 => 411,  787 => 410,  782 => 407,  775 => 403,  767 => 398,  764 => 397,  760 => 396,  756 => 395,  752 => 394,  747 => 393,  744 => 392,  738 => 389,  734 => 388,  730 => 386,  728 => 385,  723 => 383,  719 => 382,  715 => 380,  713 => 379,  710 => 378,  708 => 377,  704 => 376,  697 => 371,  691 => 368,  688 => 367,  686 => 366,  683 => 365,  677 => 362,  673 => 361,  670 => 360,  667 => 359,  661 => 356,  655 => 355,  652 => 354,  646 => 351,  642 => 350,  639 => 349,  637 => 348,  635 => 347,  631 => 345,  628 => 343,  625 => 342,  620 => 340,  613 => 339,  610 => 338,  606 => 336,  601 => 334,  592 => 333,  590 => 332,  586 => 331,  579 => 330,  577 => 329,  574 => 328,  572 => 327,  569 => 326,  565 => 323,  554 => 321,  550 => 320,  547 => 319,  542 => 316,  539 => 315,  537 => 314,  535 => 307,  527 => 301,  521 => 297,  502 => 295,  485 => 294,  481 => 292,  472 => 290,  464 => 288,  459 => 287,  449 => 280,  436 => 271,  425 => 268,  422 => 267,  420 => 266,  416 => 265,  412 => 264,  408 => 262,  398 => 261,  375 => 247,  365 => 240,  335 => 213,  330 => 210,  321 => 204,  317 => 202,  315 => 201,  312 => 200,  303 => 194,  299 => 192,  297 => 191,  254 => 150,  246 => 148,  244 => 147,  239 => 145,  236 => 144,  234 => 143,  216 => 132,  212 => 131,  207 => 129,  204 => 128,  194 => 127,  75 => 16,  65 => 15,  54 => 11,  52 => 13,  39 => 11,);
  903.     }
  904.     public function getSourceContext()
  905.     {
  906.         return new Source("{#
  907. This file is part of EC-CUBE
  908. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  909. http://www.ec-cube.co.jp/
  910. For the full copyright and license information, please view the LICENSE
  911. file that was distributed with this source code.
  912. #}
  913. {% extends 'default_frame.twig' %}
  914. {% set body_class = 'product_page' %}
  915. {% block stylesheet %}
  916.     <style>
  917.         .slick-slider {
  918.             margin-bottom: 30px;
  919.         }
  920.         .slick-dots {
  921.             position: absolute;
  922.             bottom: -45px;
  923.             display: block;
  924.             width: 100%;
  925.             padding: 0;
  926.             list-style: none;
  927.             text-align: center;
  928.         }
  929.         .slick-dots li {
  930.             position: relative;
  931.             display: inline-block;
  932.             width: 20px;
  933.             height: 20px;
  934.             margin: 0 5px;
  935.             padding: 0;
  936.             cursor: pointer;
  937.         }
  938.         .slick-dots li button {
  939.             font-size: 0;
  940.             line-height: 0;
  941.             display: block;
  942.             width: 20px;
  943.             height: 20px;
  944.             padding: 5px;
  945.             cursor: pointer;
  946.             color: transparent;
  947.             border: 0;
  948.             outline: none;
  949.             background: transparent;
  950.         }
  951.         .slick-dots li button:hover,
  952.         .slick-dots li button:focus {
  953.             outline: none;
  954.         }
  955.         .slick-dots li button:hover:before,
  956.         .slick-dots li button:focus:before {
  957.             opacity: 1;
  958.         }
  959.         .slick-dots li button:before {
  960.             content: \" \";
  961.             line-height: 20px;
  962.             position: absolute;
  963.             top: 0;
  964.             left: 0;
  965.             width: 12px;
  966.             height: 12px;
  967.             text-align: center;
  968.             opacity: .25;
  969.             background-color: black;
  970.             border-radius: 50%;
  971.         }
  972.         .slick-dots li.slick-active button:before {
  973.             opacity: .75;
  974.             background-color: black;
  975.         }
  976.         .slick-dots li button.thumbnail img {
  977.             width: 0;
  978.             height: 0;
  979.         }
  980.         .item_visual .slide-item {
  981.             display: flex;
  982.             align-items: center;
  983.             align-content: center;
  984.             justify-content: center;
  985.             min-height: 100vw;
  986.             text-align: center;
  987.         }
  988.         .item_visual .slide-item img {
  989.             max-height: 100vw;
  990.             width: auto;
  991.             margin: auto;
  992.         }
  993.         .item_visual .slide-item span {
  994.             display: block;
  995.             padding-top: 100%;
  996.             position: relative;
  997.             width: 100%;
  998.         }
  999.         .item_visual .slide-item span img {
  1000.             position: absolute;
  1001.             top: 50%;
  1002.             left: 50%;
  1003.             transform: translate(-50%,-50%);
  1004.         }
  1005.         @media only screen and (min-width: 768px) {
  1006.             .item_visual .slide-item {
  1007.                 min-height: 0;
  1008.             }
  1009.             .item_visual .slide-item img {
  1010.                 max-height: 100%;
  1011.             }
  1012.         }
  1013.     </style>
  1014. {% endblock %}
  1015. {% block javascript %}
  1016.     <script>
  1017.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1018.         eccube.productStockInfo = {};
  1019.         eccube.productStockInfo.stockMax = {{ Product.StockMax }};
  1020.         eccube.productStockInfo.stockUnlimitedMax = {% if Product.getStockUnlimitedMax() %}1{% else %}0{% endif %};
  1021.         // 規格2に選択肢を割り当てる。
  1022.         function fnSetClassCategories(form, classcat_id2_selected) {
  1023.             var \$form = \$(form);
  1024.             var product_id = \$form.find('input[name=product_id]').val();
  1025.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1026.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1027.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  1028.         }
  1029.         {% if form.classcategory_id2 is defined %}
  1030.         fnSetClassCategories(
  1031.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  1032.         );
  1033.         {% elseif form.classcategory_id1 is defined %}
  1034.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  1035.         {% endif %}
  1036.     </script>
  1037.     <script>
  1038.         \$(function() {
  1039.             // bfcache無効化
  1040.             \$(window).bind('pageshow', function(event) {
  1041.                 if (event.originalEvent.persisted) {
  1042.                     location.reload(true);
  1043.                 }
  1044.             });
  1045.             \$('.item_visual').slick({
  1046.                 dots: false,
  1047.                 arrows: true,
  1048.                 asNavFor: '.item_nav',
  1049.                 responsive: [{
  1050.                     breakpoint: 768,
  1051.                     settings: {
  1052.                         dots: false
  1053.                     }
  1054.                 }]
  1055.             });
  1056.             \$('.item_nav').slick({
  1057. \t\t\t\tasNavFor: '.item_visual',
  1058. \t\t\t\tarrows: false,
  1059. \t\t\t\tfocusOnSelect: true,
  1060. \t\t\t\tslidesToShow: 5,
  1061. \t\t\t\tslidesToScroll: 1,
  1062. \t\t\t\tcenterMode: false,
  1063. \t\t\t\tcenterPadding: '0px'
  1064. \t\t\t});
  1065.             /*
  1066.             \$('.slideThumb').on('click', function() {
  1067.                 var index = \$(this).attr('data-index');
  1068.                 \$('.item_visual').slick('slickGoTo', index, false);
  1069.             })
  1070.             */
  1071.         });
  1072.     </script>
  1073.     <script>
  1074.         \$(function() {
  1075.             \$('.add-cart').on('click', function(event) {
  1076.                 {% if form.classcategory_id1 is defined %}
  1077.                 // 規格1フォームの必須チェック
  1078.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  1079.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1080.                     return true;
  1081.                 } else {
  1082.                     \$('#classcategory_id1')[0].setCustomValidity('');
  1083.                 }
  1084.                 {% endif %}
  1085.                 {% if form.classcategory_id2 is defined %}
  1086.                 // 規格2フォームの必須チェック
  1087.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  1088.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1089.                     return true;
  1090.                 } else {
  1091.                     \$('#classcategory_id2')[0].setCustomValidity('');
  1092.                 }
  1093.                 {% endif %}
  1094.                 // 個数フォームのチェック
  1095.                 if (\$('#quantity').val() < 1) {
  1096.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1097.                     return true;
  1098.                 } else {
  1099.                     \$('#quantity')[0].setCustomValidity('');
  1100.                 }
  1101.                 event.preventDefault();
  1102.                 \$form = \$('#form1');
  1103.                 \$.ajax({
  1104.                     url: \$form.attr('action'),
  1105.                     type: \$form.attr('method'),
  1106.                     data: \$form.serialize(),
  1107.                     dataType: 'json',
  1108.                     beforeSend: function(xhr, settings) {
  1109.                         // Buttonを無効にする
  1110.                         \$('.add-cart').prop('disabled', true);
  1111.                     }
  1112.                 }).done(function(data) {
  1113.                     // レスポンス内のメッセージをalertで表示
  1114.                     \$.each(data.messages, function() {
  1115.                         \$('#ec-modal-header').html(this);
  1116.                     });
  1117.                     \$('.ec-modal').show()
  1118.                     // カートブロックを更新する
  1119.                     \$.ajax({
  1120.                         url: \"{{ url('block_cart') }}\",
  1121.                         type: 'GET',
  1122.                         dataType: 'html'
  1123.                     }).done(function(html) {
  1124.                         \$('.ec-headerRole__cart').html(html);
  1125.                     });
  1126.                 }).fail(function(data) {
  1127.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1128.                 }).always(function(data) {
  1129.                     // Buttonを有効にする
  1130.                     \$('.add-cart').prop('disabled', false);
  1131.                 });
  1132.             });
  1133.         });
  1134.         \$('.ec-modal-overlay, .ec-modal .ec-inlineBtn--cancel').on('click', function() {
  1135.             \$('.ec-modal').hide()
  1136.         });
  1137.     </script>
  1138. {% endblock %}
  1139. {% block main %}
  1140.      <div class=\"ym-topicpath\">
  1141.         <ul>
  1142.             <li><a href=\"{{ url('homepage') }}\">HOME</a></li>
  1143.             <li><a href=\"{{ url('homepage') }}products/list\">商品一覧</a></li>
  1144.             {% if Product.ProductCategories is not empty %}
  1145.                 {% set ProductCategory = Product.ProductCategories|first %}
  1146.                 <li><a href=\"{{ url('product_list') }}?category_id={{ ProductCategory.Category.id }}\">{{ ProductCategory.Category.name }}</a>
  1147.                 </li>
  1148.             {% endif %}
  1149.             <li>{{ Product.name }}</li>
  1150.         </ul>
  1151.     </div>
  1152.     
  1153.     <div class=\"ec-productRole\">
  1154.             <!--<div class=\"ym-product_tags\">
  1155. \t\t\t\t<span class=\"ym-tag ym-tag_price\">特別価格</span>
  1156. \t\t\t</div>-->
  1157. \t\t\t<div class=\"ec-productRole__title\">
  1158. \t\t\t\t<h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  1159. \t\t\t</div>
  1160.         <div class=\"ec-grid2\">
  1161.             <div class=\"ec-grid2__cell\">
  1162.                 <div class=\"ym-slider\">
  1163.                     <div class=\"ec-sliderItemRole\">
  1164.                         <div class=\"item_visual\">
  1165.                             {% for ProductImage in Product.ProductImage %}
  1166.                                 <div class=\"slide-item\"><span><img src=\"{{ asset(ProductImage, 'save_image') }}\"></span></div>
  1167.                             {% else %}
  1168.                                 <div class=\"slide-item\"><span><img src=\"{{ asset(''|no_image_product, 'save_image') }}\"/></span></div>
  1169.                             {% endfor %}
  1170.                         </div>
  1171.                         <div class=\"item_nav\">
  1172.                             {% for ProductImage in Product.ProductImage %}
  1173.                                 <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><span><img src=\"{{ asset(ProductImage, 'save_image') }}\"></span></div>
  1174.                             {% endfor %}
  1175.                         </div>
  1176.                     </div>
  1177.                 </div>
  1178.                 <div class=\"ec-productRole__description\">
  1179.                     {{ Product.description_detail|raw|nl2br }}
  1180.                 </div>
  1181.             </div>
  1182.             <div class=\"ec-grid2__cell\">
  1183.                 <div class=\"ec-productRole__profile ym-productRole__profile ym-bg_gray\">
  1184.                     {# 商品コード #}
  1185.                     {#
  1186.                     {% if Product.code_min is not empty %}
  1187.                         <div class=\"ec-productRole__code\">
  1188.                             {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1189.                         </div>
  1190.                     {% endif %}
  1191.                     #}
  1192.                     {# 商品名 #}
  1193.                     <div class=\"ec-productRole__title\">
  1194.                         <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  1195.                     </div>
  1196.                     {# タグ #}
  1197.                     <ul class=\"ec-productRole__tags\">
  1198.                         {% for Tag in Product.Tags %}
  1199.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  1200.                         {% endfor %}
  1201.                     </ul>
  1202.                     <div class=\"ym-productRole__price\">
  1203.                     {# 通常価格 #}
  1204.                     <div class=\"ym-price_regular\">
  1205.                     {% if Product.hasProductClass -%}
  1206.                         <div class=\"ec-productRole__priceRegular\">
  1207.                         {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  1208.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
  1209.                             <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1210.                         {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  1211.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
  1212.                             <!--<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>-->
  1213.                         {% endif %}
  1214.                         </div>
  1215.                     {% else %}
  1216.                         {% if Product.getPrice01Max is not null %}
  1217.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  1218.                             <!--<span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>-->
  1219.                         {% endif %}
  1220.                     {% endif %}
  1221.                     </div>
  1222.                     {# 販売価格 #}
  1223.                         <div class=\"ec-productRole__price\">
  1224.                         <!--<span class=\"ym-tag ym-tag_price\">特別価格</span>-->
  1225.                         {% if Product.hasProductClass -%}
  1226.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1227.                                 <div class=\"ec-price\">
  1228.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1229.                                     <!--<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>-->
  1230.                                 </div>
  1231.                             {% else %}
  1232.                                 <div class=\"ec-price\">
  1233.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1234.                                     <!--<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>-->
  1235.                                 </div>
  1236.                             {% endif %}
  1237.                         {% else %}
  1238.                             <div class=\"ec-price\">
  1239.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1240.                                 <!--<span class=\"ec-price__tax\">{{ '税込'|trans }}</span>-->
  1241.                             </div>
  1242.                         {% endif %}
  1243. <?php if (false): ?>\t\t\t\t\t\t\t
  1244. \t\t\t\t\t\t{% if TabaCustomFieldsProduct('add_priceinfo', Product.id) %}
  1245. \t\t\t\t\t\t<div style=\"margin: 10px 5px 0;\">
  1246. \t\t\t\t\t\t\t{{ TabaCustomFieldsProduct('add_priceinfo', Product.id)|raw }}
  1247. \t\t\t\t\t\t</div>
  1248. \t\t\t\t\t\t{% endif %}
  1249. <?php endif; ?>
  1250.                         </div>
  1251.                     </div>
  1252.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1253.                         {% if Product.stock_find %}
  1254.                             <div class=\"ec-productRole__actions\">
  1255.                                 {% if form.classcategory_id1 is defined %}
  1256.                                     <div class=\"ec-select\">
  1257.                                         <label class=\"ym-label\"></label>
  1258.                                         {{ form_widget(form.classcategory_id1) }}
  1259.                                         {{ form_errors(form.classcategory_id1) }}
  1260.                                     </div>
  1261.                                     {% if form.classcategory_id2 is defined %}
  1262.                                         <div class=\"ec-select\">
  1263.                                             <label class=\"ym-label\"></label>
  1264.                                             {{ form_widget(form.classcategory_id2) }}
  1265.                                             {{ form_errors(form.classcategory_id2) }}
  1266.                                         </div>
  1267.                                     {% endif %}
  1268.                                 {% endif %}
  1269.                                 <div class=\"ec-numberInput\"><span class=\"ym-label\">{{ '数量'|trans }}</span>
  1270.                                     {{ form_widget(form.quantity) }}
  1271.                                     <span class=\"fc-red ym-quantity_desc\" data-stock=\"{{Product.StockMax}}\" data-max=\"10\">
  1272.                                         {% if Product.StockMax <= 10 and Product.getStockUnlimitedMax() == 0 %}在庫残りわずか!{% endif %}
  1273.                                     </span>
  1274.                                     {{ form_errors(form.quantity) }}
  1275.                                 </div>
  1276.                             </div>
  1277.                             <div class=\"ec-productRole__btn ym-btn_cart\">
  1278.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1279.                                     {{ 'カートに入れる'|trans }}
  1280.                                 </button>
  1281.                             </div>
  1282.                         {% else %}
  1283.                             <div class=\"ec-productRole__btn ym-btn_cart\">
  1284.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1285. <?php if (false): ?>
  1286. \t\t\t\t\t\t\t\t\t{% if TabaCustomFieldsProduct('soldout_message', Product.id) %}
  1287. \t\t\t\t\t\t\t\t\t\t{{ TabaCustomFieldsProduct('soldout_message', Product.id)|raw }}
  1288. \t\t\t\t\t\t\t\t\t{% else %}
  1289.                                     \t{{ '売り切れました'|trans }}
  1290. \t\t\t\t\t\t\t\t\t{% endif %}
  1291. <?php endif; ?>
  1292.                                 </button>
  1293.                             </div>
  1294.                         {% endif %}
  1295.                         {{ form_rest(form) }}
  1296.                     </form>
  1297.                     <div class=\"ec-modal\">
  1298.                         <div class=\"ec-modal-overlay\">
  1299.                             <div class=\"ec-modal-wrap\">
  1300.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1301.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1302.                                 <div class=\"ec-modal-box\">
  1303.                                     <div class=\"ec-role\">
  1304.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1305.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1306.                                     </div>
  1307.                                 </div>
  1308.                             </div>
  1309.                         </div>
  1310.                     </div>
  1311.                     {% if BaseInfo.option_favorite_product %}
  1312.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  1313.                             <div class=\"ec-productRole__btn ym-btn_favorite\">
  1314.                                 {% if is_favorite == false %}
  1315.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  1316.                                         {{ 'お気に入りに追加'|trans }}
  1317.                                     </button>
  1318.                                 {% else %}
  1319.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  1320.                                             disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
  1321.                                     </button>
  1322.                                 {% endif %}
  1323.                             </div>
  1324.                         </form>
  1325.                     {% endif %}
  1326.                     <div class=\"ym-product_sns fc-product_sns\"></div>
  1327.                     <p class=\"ym-guice_link\"><a href=\"/guide\">ご利用ガイド</a></p>
  1328.                 </div>
  1329.             </div>
  1330.         </div>
  1331.         {% if Product.freearea %}
  1332. \t\t <div class=\"ec-productRole__description\">
  1333. \t\t\t<div class=\"ym-product_description\">
  1334. \t\t\t\t<p class=\"ym-heading ym-heading_lv2\">商品情報</p>
  1335. \t\t\t{{ include(template_from_string(Product.freearea)) }}
  1336. <?php if (false): ?>
  1337. \t\t\t{% if TabaCustomFieldsProduct('size_detail', Product.id) or TabaCustomFieldsProduct('side_image', Product.id) %}
  1338. \t\t\t\t<p class=\"ym-heading ym-heading_lv2\">サイズ詳細</p>
  1339. \t\t\t\t{% if TabaCustomFieldsProduct('size_detail', Product.id) %}
  1340. \t\t\t\t\t{{TabaCustomFieldsProduct('size_detail', Product.id)|raw}}
  1341. \t\t\t\t{% endif %}
  1342. \t\t\t\t{% if TabaCustomFieldsProduct('side_image', Product.id) %}
  1343. \t\t\t\t\t<div class=\"ym-scroll\" style=\"margin-top: 20px;\">
  1344. \t\t\t\t\t\t<img src=\"{{TabaCustomFieldsProduct('side_image', Product.id)}}\" alt=\"\">
  1345. \t\t\t\t\t</div>
  1346. \t\t\t\t{% endif %}
  1347. \t\t\t{% endif %}
  1348. <?php endif; ?>
  1349. \t\t\t </div>
  1350. \t\t</div>
  1351.         {% endif %}
  1352.     </div>
  1353. {% endblock %}
  1354. ""Product/detail.twig""/home/dober/testman.biz/public_html/yamaria-ec-demo/app/template/yamaria/Product/detail.twig");
  1355.     }
  1356.     
  1357.     public function checkSecurity()
  1358.     {
  1359.         static $tags = array("set" => 13"if" => 132"for" => 287);
  1360.         static $filters = array("raw" => 129"escape" => 131"json_encode" => 145"trans" => 194"first" => 267"no_image_product" => 290"nl2br" => 301"price" => 330);
  1361.         static $functions = array("class_categories_as_json" => 129"url" => 240"asset" => 288"TabaCustomFieldsProduct" => 366"form_widget" => 382"form_errors" => 383"form_rest" => 420"include" => 460"template_from_string" => 460);
  1362.         try {
  1363.             $this->sandbox->checkSecurity(
  1364.                 ['set''if''for'],
  1365.                 ['raw''escape''json_encode''trans''first''no_image_product''nl2br''price'],
  1366.                 ['class_categories_as_json''url''asset''TabaCustomFieldsProduct''form_widget''form_errors''form_rest''include''template_from_string']
  1367.             );
  1368.         } catch (SecurityError $e) {
  1369.             $e->setSourceContext($this->source);
  1370.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  1371.                 $e->setTemplateLine($tags[$e->getTagName()]);
  1372.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  1373.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  1374.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  1375.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  1376.             }
  1377.             throw $e;
  1378.         }
  1379.     }
  1380. }