var/cache/dev/twig/ab/ab6bd5b20323acc27b215641a6871743febd6389ef2c26a8e2fc1b54d67e6019.php line 98

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_fff0a4840f68903f827ae9b636fb97ebcac6f33a3d95e21d188efe3a1ea57684 extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'main' => [$this'block_main'],
  26.         ];
  27.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 36
  31.         return "default_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  40.         // line 11
  41.         if (twig_in_filter(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.'11$this->source); })()), "id", [], "any"falsefalsefalse11), twig_get_attribute($this->env$this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config"$context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.'11$this->source); })()), "noindex", [], "any"falsefalsefalse11))) {
  42.             // line 12
  43.             twig_get_attribute($this->env$this->source, (isset($context["Page"]) || array_key_exists("Page"$context) ? $context["Page"] : (function () { throw new RuntimeError('Variable "Page" does not exist.'12$this->source); })()), "setMetaRobots", [=> "noindex"], "method"falsefalsefalse12);
  44.         }
  45.         // line 15
  46.         $context["sidbar_out"] = false;
  47.         // line 16
  48.         $context["sidebar_type"] = 0;
  49.         // line 19
  50.         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.'19$this->source); })()), "ProductCategories", [], "any"falsefalsefalse19))) {
  51.             // line 20
  52.             $context['_parent'] = $context;
  53.             $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.'20$this->source); })()), "ProductCategories", [], "any"falsefalsefalse20));
  54.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  55.                 // line 21
  56.                 $context['_parent'] = $context;
  57.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse21), "path", [], "any"falsefalsefalse21));
  58.                 foreach ($context['_seq'] as $context["_key"] => $context["Path"]) {
  59.                     // line 22
  60.                     if ((twig_get_attribute($this->env$this->source$context["Path"], "hierarchy", [], "any"falsefalsefalse22) == 1)) {
  61.                         // line 23
  62.                         if ((twig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsefalse23) == "部品")) {
  63.                             // line 24
  64.                             $context["sidebar_type"] = 1;
  65.                             // line 25
  66.                             $context["sidbar_out"] = true;
  67.                         }
  68.                         // line 27
  69.                         if ((twig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsefalse27) == "カートリッジ")) {
  70.                             // line 28
  71.                             $context["sidebar_type"] = 2;
  72.                             // line 29
  73.                             $context["sidbar_out"] = true;
  74.                         }
  75.                     }
  76.                 }
  77.                 $_parent $context['_parent'];
  78.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Path'], $context['_parent'], $context['loop']);
  79.                 $context array_intersect_key($context$_parent) + $_parent;
  80.             }
  81.             $_parent $context['_parent'];
  82.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  83.             $context array_intersect_key($context$_parent) + $_parent;
  84.         }
  85.         // line 38
  86.         $context["body_class"] = "product_page";
  87.         // line 36
  88.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"36);
  89.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  90.         
  91.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  92.         
  93.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  94.     }
  95.     // line 40
  96.     public function block_stylesheet($context, array $blocks = [])
  97.     {
  98.         $macros $this->macros;
  99.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  100.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  101.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  102.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  103.         // line 41
  104.         echo "    <style>
  105.         .slick-slider {
  106.             margin-bottom: 30px;
  107.         }
  108.         .slick-dots {
  109.             position: absolute;
  110.             bottom: -45px;
  111.             display: block;
  112.             width: 100%;
  113.             padding: 0;
  114.             list-style: none;
  115.             text-align: center;
  116.         }
  117.         .slick-dots li {
  118.             position: relative;
  119.             display: inline-block;
  120.             width: 20px;
  121.             height: 20px;
  122.             margin: 0 5px;
  123.             padding: 0;
  124.             cursor: pointer;
  125.         }
  126.         .slick-dots li button {
  127.             font-size: 0;
  128.             line-height: 0;
  129.             display: block;
  130.             width: 20px;
  131.             height: 20px;
  132.             padding: 5px;
  133.             cursor: pointer;
  134.             color: transparent;
  135.             border: 0;
  136.             outline: none;
  137.             background: transparent;
  138.         }
  139.         .slick-dots li button:hover,
  140.         .slick-dots li button:focus {
  141.             outline: none;
  142.         }
  143.         .slick-dots li button:hover:before,
  144.         .slick-dots li button:focus:before {
  145.             opacity: 1;
  146.         }
  147.         .slick-dots li button:before {
  148.             content: \" \";
  149.             line-height: 20px;
  150.             position: absolute;
  151.             top: 0;
  152.             left: 0;
  153.             width: 12px;
  154.             height: 12px;
  155.             text-align: center;
  156.             opacity: .25;
  157.             background-color: black;
  158.             border-radius: 50%;
  159.         }
  160.         .slick-dots li.slick-active button:before {
  161.             opacity: .75;
  162.             background-color: black;
  163.         }
  164.         .slick-dots li button.thumbnail img {
  165.             width: 0;
  166.             height: 0;
  167.         }
  168. \t\t.ec-price{
  169. \t\t\tmargin-bottom: 20px !important;
  170. \t\t}
  171. \t\t.ec-price__price{
  172. \t\t\tpadding: 0 0 5px 0 !important;
  173. \t\t\tborder-bottom: 1px solid !important;
  174. \t\t\tfont-size: 22px !important;
  175. \t\t\tfont-weight: bold !important;
  176. \t\t}
  177. \t\t.ec-price__tax{
  178. \t\t\tfont-size: 16px !important;
  179. \t\t}
  180. \t\t.ec-blockBtn--action{
  181. \t\t\tmargin-bottom: 0;
  182. \t\t\tfont-weight: bold;
  183. \t\t\ttext-align: center;
  184. \t\t\tvertical-align: middle;
  185. \t\t\ttouch-action: manipulation;
  186. \t\t\tcursor: pointer;
  187. \t\t\tbackground-image: none;
  188. \t\t\tborder: 1px solid transparent;
  189. \t\t\twhite-space: nowrap;
  190. \t\t\tfont-size: 13px !important;
  191. \t\t\tborder-radius: 0px;
  192. \t\t\tuser-select: none;
  193. \t\t\tpadding: 10px 16px;
  194. \t\t\ttext-decoration: none;
  195. \t\t\tcolor: #fff;
  196. \t\t\tdisplay: block;
  197. \t\t\twidth: 100%;
  198. \t\t\theight: 40px !important;
  199. \t\t\tline-height: 40px !important;
  200. \t\t\tpadding-top: 0;
  201. \t\t\tpadding-bottom: 0;
  202. \t\t}
  203. \t\t.ec-layoutRole__mainBottom{
  204. \t\t\tpadding: 0 2.5% !important;
  205. \t\t}
  206. \t\t
  207. \t\t.rental-disclaimer{
  208.             margin-bottom: 10px;
  209.         }
  210. \t\t
  211.     </style>
  212. ";
  213.         
  214.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  215.         
  216.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  217.     }
  218.     // line 162
  219.     public function block_javascript($context, array $blocks = [])
  220.     {
  221.         $macros $this->macros;
  222.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  223.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  224.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  225.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  226.         // line 163
  227.         echo "    <script>
  228.         eccube.classCategories = ";
  229.         // line 164
  230.         echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'164$this->source); })()));
  231.         echo ";
  232.         // 規格2に選択肢を割り当てる。
  233.         function fnSetClassCategories(form, classcat_id2_selected) {
  234.             var \$form = \$(form);
  235.             var product_id = \$form.find('input[name=product_id]').val();
  236.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  237.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  238.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  239.         }
  240.         ";
  241.         // line 175
  242.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse175)) {
  243.             // line 176
  244.             echo "        fnSetClassCategories(
  245.             \$('#form1'), ";
  246.             // line 177
  247.             echo json_encode(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'177$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse177), "vars", [], "any"falsefalsefalse177), "value", [], "any"falsefalsefalse177));
  248.             echo "
  249.         );
  250.         ";
  251.         } elseif (twig_get_attribute($this->env$this->source,         // line 179
  252. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse179)) {
  253.             // line 180
  254.             echo "        eccube.checkStock(\$('#form1'), ";
  255.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'180$this->source); })()), "id", [], "any"falsefalsefalse180), "html"nulltrue);
  256.             echo ", ";
  257.             echo json_encode(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'180$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse180), "vars", [], "any"falsefalsefalse180), "value", [], "any"falsefalsefalse180));
  258.             echo ", null);
  259.         ";
  260.         }
  261.         // line 182
  262.         echo "    </script>
  263.     <script>
  264.         \$(function() {
  265.             // bfcache無効化
  266.             \$(window).bind('pageshow', function(event) {
  267.                 if (event.originalEvent.persisted) {
  268.                     location.reload(true);
  269.                 }
  270.             });
  271.             \$('.item_visual').slick({
  272.                 autoplay: true,         //自動再生
  273.                 speed: 300,             //スライドするスピード
  274.                 dots: true,             //ドット
  275.                 arrows: false,          //矢印
  276.                 infinite: true,         //スライドのループ
  277.                 pauseOnHover: false,    //ホバーしたときにスライドを一時停止しない
  278.                 responsive: [{
  279.                     breakpoint: 768,
  280.                     settings: {
  281.                         dots: true
  282.                     }
  283.                 }]
  284.             });
  285.             \$('.slideThumb').on('click', function() {
  286.                 var index = \$(this).attr('data-index');
  287.                 \$('.item_visual').slick('slickGoTo', index, false);
  288.             })
  289.         });
  290.     </script>
  291.     <script>
  292.         if (\$('[name=\"classcategory_id1\"] option').length == 2) {
  293.             ";
  294.         // line 216
  295.         echo "            \$('[name=\"classcategory_id1\"] option[value=\"__unselected\"]').remove();
  296.         } else {
  297.             ";
  298.         // line 219
  299.         echo "            \$('[name=\"classcategory_id1\"] option[value=\"__unselected\"]').text(\"購入方法\");
  300.         }
  301.         
  302.         \$(function() {
  303.             \$('#Product_contact').on('click', function() {
  304.                 window.location.href = '";
  305.         // line 224
  306.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config"$context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.'224$this->source); })()), "multipure_contact", [], "any"falsefalsefalse224), "html"nulltrue);
  307.         echo "';
  308.             });
  309.             \$('#Product_rental').on('click', function() {
  310.                 let href = '";
  311.         // line 227
  312.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config"$context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.'227$this->source); })()), "multipure_lp_rental", [], "any"falsefalsefalse227), "html"nulltrue);
  313.         echo "';
  314.                 window.open(href, \"_blank\");
  315.             });
  316.             \$('#Product_rental_contact').on('click', function() {
  317.                 window.location.href = '";
  318.         // line 231
  319.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config"$context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.'231$this->source); })()), "multipure_contact_lp_rental", [], "any"falsefalsefalse231), "html"nulltrue);
  320.         echo "';
  321.             });
  322.             \$('#Product_rental_entry').on('click', function() {
  323.                 window.location.href = '";
  324.         // line 234
  325.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("rental_entry", ["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.'234$this->source); })()), "id", [], "any"falsefalsefalse234)]), "html"nulltrue);
  326.         echo "';
  327.             });
  328.         ";
  329.         // line 236
  330.         $context['_parent'] = $context;
  331.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'236$this->source); })()), "RelatedProducts", [], "any"falsefalsefalse236));
  332.         foreach ($context['_seq'] as $context["_key"] => $context["RelatedProduct"]) {
  333.             // line 237
  334.             echo "            ";
  335.             $context["ChildProduct"] = twig_get_attribute($this->env$this->source$context["RelatedProduct"], "ChildProduct", [], "any"falsefalsefalse237);
  336.             // line 238
  337.             echo "            ";
  338.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ChildProduct"]) || array_key_exists("ChildProduct"$context) ? $context["ChildProduct"] : (function () { throw new RuntimeError('Variable "ChildProduct" does not exist.'238$this->source); })()), "Status", [], "any"falsefalsefalse238), "id", [], "any"falsefalsefalse238) == twig_constant("Eccube\\Entity\\Master\\ProductStatus::DISPLAY_SHOW"))) {
  339.                 // line 239
  340.                 echo "                \$('#Product_cartridge').on('click', function() {
  341.                     window.location.href = '";
  342.                 // line 240
  343.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source, (isset($context["ChildProduct"]) || array_key_exists("ChildProduct"$context) ? $context["ChildProduct"] : (function () { throw new RuntimeError('Variable "ChildProduct" does not exist.'240$this->source); })()), "id", [], "any"falsefalsefalse240)]), "html"nulltrue);
  344.                 echo "';
  345.                 });
  346.             ";
  347.             }
  348.             // line 243
  349.             echo "        ";
  350.         }
  351.         $_parent $context['_parent'];
  352.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['RelatedProduct'], $context['_parent'], $context['loop']);
  353.         $context array_intersect_key($context$_parent) + $_parent;
  354.         // line 244
  355.         echo "
  356.             \$('.add-cart').on('click', function(event) {
  357.                 ";
  358.         // line 246
  359.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse246)) {
  360.             // line 247
  361.             echo "                // 規格1フォームの必須チェック
  362.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  363.                     \$('#classcategory_id1')[0].setCustomValidity('";
  364.             // line 249
  365.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  366.             echo "');
  367.                     return true;
  368.                 } else {
  369.                     \$('#classcategory_id1')[0].setCustomValidity('');
  370.                 }
  371.                 ";
  372.         }
  373.         // line 255
  374.         echo "
  375.                 ";
  376.         // line 256
  377.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse256)) {
  378.             // line 257
  379.             echo "                // 規格2フォームの必須チェック
  380.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  381.                     \$('#classcategory_id2')[0].setCustomValidity('";
  382.             // line 259
  383.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  384.             echo "');
  385.                     return true;
  386.                 } else {
  387.                     \$('#classcategory_id2')[0].setCustomValidity('');
  388.                 }
  389.                 ";
  390.         }
  391.         // line 265
  392.         echo "
  393.                 // 個数フォームのチェック
  394.                 if (\$('#quantity').val() < 1) {
  395.                     \$('#quantity')[0].setCustomValidity('";
  396.         // line 268
  397.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  398.         echo "');
  399.                     return true;
  400.                 } else {
  401.                     \$('#quantity')[0].setCustomValidity('');
  402.                 }
  403.                 event.preventDefault();
  404.                 \$form = \$('#form1');
  405.                 \$.ajax({
  406.                     url: \$form.attr('action'),
  407.                     type: \$form.attr('method'),
  408.                     data: \$form.serialize(),
  409.                     dataType: 'json',
  410.                     beforeSend: function(xhr, settings) {
  411.                         // Buttonを無効にする
  412.                         \$('.add-cart').prop('disabled', true);
  413.                     }
  414.                 }).done(function(data) {
  415.                     // レスポンス内のメッセージをalertで表示
  416.                     \$.each(data.messages, function() {
  417.                         \$('#ec-modal-header').html(this);
  418.                     });
  419.                     \$('.ec-modal').show()
  420.                     // カートブロックを更新する
  421.                     \$.ajax({
  422.                         url: \"";
  423.         // line 295
  424.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  425.         echo "\",
  426.                         type: 'GET',
  427.                         dataType: 'html'
  428.                     }).done(function(html) {
  429.                         \$('.ec-headerRole__cart').html(html);
  430.                         
  431.                         // カートブロックが更新された場合、イベントが無効になるため再設定
  432.                         \$('.ec-cartNavi').click(function() {
  433.                             window.location.href = '";
  434.         // line 303
  435.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  436.         echo "';
  437.                         });
  438.                     });
  439.                 }).fail(function(data) {
  440.                     alert('";
  441.         // line 307
  442.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  443.         echo "');
  444.                 }).always(function(data) {
  445.                     // Buttonを有効にする
  446.                     \$('.add-cart').prop('disabled', false);
  447.                 });
  448.             });
  449.         });
  450.         \$('.ec-modal-wrap').on('click', function(e) {
  451.             // モーダル内の処理は外側にバブリングさせない
  452.             e.stopPropagation();
  453.         });
  454.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  455.             \$('.ec-modal').hide()
  456.         });
  457.     </script>
  458.     <script type=\"application/ld+json\">
  459.     {
  460.         \"@context\": \"https://schema.org/\",
  461.         \"@type\": \"Product\",
  462.         \"name\": \"";
  463.         // line 327
  464.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'327$this->source); })()), "name", [], "any"falsefalsefalse327), "html"nulltrue);
  465.         echo "\",
  466.         \"image\": [
  467.             ";
  468.         // line 329
  469.         $context['_parent'] = $context;
  470.         $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.'329$this->source); })()), "ProductImage", [], "any"falsefalsefalse329));
  471.         $context['_iterated'] = false;
  472.         $context['loop'] = [
  473.           'parent' => $context['_parent'],
  474.           'index0' => 0,
  475.           'index'  => 1,
  476.           'first'  => true,
  477.         ];
  478.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  479.             $length count($context['_seq']);
  480.             $context['loop']['revindex0'] = $length 1;
  481.             $context['loop']['revindex'] = $length;
  482.             $context['loop']['length'] = $length;
  483.             $context['loop']['last'] = === $length;
  484.         }
  485.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  486.             // line 330
  487.             echo "                \"";
  488.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'330$this->source); })()), "request", [], "any"falsefalsefalse330), "schemeAndHttpHost", [], "any"falsefalsefalse330), "html"nulltrue);
  489.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html"nulltrue);
  490.             echo "\"";
  491.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse330)) {
  492.                 echo ",";
  493.             }
  494.             // line 331
  495.             echo "
  496.             ";
  497.             $context['_iterated'] = true;
  498.             ++$context['loop']['index0'];
  499.             ++$context['loop']['index'];
  500.             $context['loop']['first'] = false;
  501.             if (isset($context['loop']['length'])) {
  502.                 --$context['loop']['revindex0'];
  503.                 --$context['loop']['revindex'];
  504.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  505.             }
  506.         }
  507.         if (!$context['_iterated']) {
  508.             // line 333
  509.             echo "                \"";
  510.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'333$this->source); })()), "request", [], "any"falsefalsefalse333), "schemeAndHttpHost", [], "any"falsefalsefalse333), "html"nulltrue);
  511.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  512.             echo "\"
  513.             ";
  514.         }
  515.         $_parent $context['_parent'];
  516.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  517.         $context array_intersect_key($context$_parent) + $_parent;
  518.         // line 335
  519.         echo "        ],
  520.         \"description\": \"";
  521.         // line 336
  522.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruefalse336)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsefalse336), 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.'336$this->source); })()), "description_detail", [], "any"falsefalsefalse336))) : (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.'336$this->source); })()), "description_detail", [], "any"falsefalsefalse336))), ["
  523. => """ " => ""]), 0300), "html"nulltrue);
  524.         echo "\",
  525.         ";
  526.         // line 337
  527.         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.'337$this->source); })()), "code_min", [], "any"falsefalsefalse337)) {
  528.             // line 338
  529.             echo "        \"sku\": \"";
  530.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'338$this->source); })()), "code_min", [], "any"falsefalsefalse338), "html"nulltrue);
  531.             echo "\",
  532.         ";
  533.         }
  534.         // line 340
  535.         echo "        \"offers\": {
  536.             \"@type\": \"Offer\",
  537.             \"url\": \"";
  538.         // line 342
  539.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'342$this->source); })()), "id", [], "any"falsefalsefalse342)]), "html"nulltrue);
  540.         echo "\",
  541.             \"priceCurrency\": \"";
  542.         // line 343
  543.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config"$context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.'343$this->source); })()), "currency", [], "any"falsefalsefalse343), "html"nulltrue);
  544.         echo "\",
  545.             \"price\": ";
  546.         // line 344
  547.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'344$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse344), "html"nulltrue);
  548.         echo ",
  549.             \"availability\": \"";
  550.         // line 345
  551.         echo ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'345$this->source); })()), "stock_find", [], "any"falsefalsefalse345)) ? ("InStock") : ("OutOfStock"));
  552.         echo "\"
  553.         }
  554.     }
  555.     </script>
  556. ";
  557.         // line 352
  558.         echo "<script>
  559. ";
  560.         // line 354
  561.         echo "(function(window, undefined) {
  562.     // 名前空間の重複を防ぐ
  563.     if (window.eccube === undefined) {
  564.         window.eccube = {};
  565.     }
  566.     var eccube = window.eccube;
  567.     // グローバルに使用できるようにする
  568.     window.eccube = eccube;
  569.     /**
  570.      * 規格2のプルダウンを設定する.
  571.      */
  572.     eccube.setClassCategories = function(\$form, product_id, \$sele1, \$sele2, selected_id2) {
  573.         if (\$sele1 && \$sele1.length) {
  574.             var classcat_id1 = \$sele1.val() ? \$sele1.val() : '';
  575.             if (\$sele2 && \$sele2.length) {
  576.                 // 規格2の選択肢をクリア
  577.                 \$sele2.children().remove();
  578.                 var classcat2;
  579.                 if (eccube.hasOwnProperty('productsClassCategories')) {
  580.                     // 商品一覧時
  581.                     classcat2 = eccube.productsClassCategories[product_id][classcat_id1];
  582.                 } else {
  583.                     // 詳細表示時
  584.                     classcat2 = eccube.classCategories[classcat_id1];
  585.                 }
  586.                 // 規格2の要素を設定
  587.                 for (var key in classcat2) {
  588.                     if (classcat2.hasOwnProperty(key)) {
  589.                         var id = classcat2[key].classcategory_id2;
  590.                         var name = classcat2[key].name;
  591.                         var option = \$('<option />').val(id ? id : '').text(name);
  592.                         if (id === selected_id2) {
  593.                             option.attr('selected', true);
  594.                         }
  595.                         \$sele2.append(option);
  596.                     }
  597.                 }
  598.                 eccube.checkStock(\$form, product_id, \$sele1.val() ? \$sele1.val() : '__unselected2',
  599.                     \$sele2.val() ? \$sele2.val() : '');
  600.             }
  601.         }
  602.     };
  603.     /**
  604.      * 規格の選択状態に応じて, フィールドを設定する.
  605.      */
  606.     // 税抜価格を格納
  607.     var price02_origin = [];
  608.     // 税込価格を格納
  609.     var price02Tax_origin = [];
  610.     eccube.checkStock = function(\$form, product_id, classcat_id1, classcat_id2) {
  611.         classcat_id2 = classcat_id2 ? classcat_id2 : '';
  612.         var classcat2;
  613.         if (eccube.hasOwnProperty('productsClassCategories')) {
  614.             // 商品一覧時
  615.             classcat2 = eccube.productsClassCategories[product_id][classcat_id1]['#' + classcat_id2];
  616.         } else {
  617.             // 詳細表示時
  618.             if (typeof eccube.classCategories[classcat_id1] !== 'undefined') {
  619.                 classcat2 = eccube.classCategories[classcat_id1]['#' + classcat_id2];
  620.             }
  621.         }
  622.         if (typeof classcat2 === 'undefined') {
  623.             // 商品コード
  624.             var \$product_code = \$('.product-code-default');
  625.             if (typeof this.product_code_origin === 'undefined') {
  626.                 // 初期値を保持しておく
  627.                 this.product_code_origin = \$product_code.text();
  628.             }
  629.             \$product_code.text(this.product_code_origin);
  630.             // 在庫(品切れ)
  631.             var \$cartbtn = \$form.parent().find('.add-cart').first();
  632.             if (typeof this.product_cart_origin === 'undefined') {
  633.                 // 初期値を保持しておく
  634.                 this.product_cart_origin = \$cartbtn.text();
  635.             }
  636.             \$cartbtn.prop('disabled', false);
  637.             \$cartbtn.text(this.product_cart_origin);
  638.             // 通常価格
  639.             var \$price01 = \$form.parent().find('.price01-default-Custom').first();
  640.             if (typeof this.price01_origin === 'undefined') {
  641.                 // 初期値を保持しておく
  642.                 this.price01_origin = \$price01.text();
  643.             }
  644.             \$price01.text(this.price01_origin);
  645.             // 販売価格
  646.             var \$price02 = \$form.parent().find('.price02-default-Custom').first();
  647.             if (typeof price02_origin[product_id] === 'undefined') {
  648.                 // 初期値を保持しておく
  649.                 price02_origin[product_id] = \$price02.text();
  650.             }
  651.             \$price02.text(price02_origin[product_id]);
  652.             ";
  653.         // line 461
  654.         echo "            var \$price02_sub = \$form.parent().find('.price02-default-Custom-sub').first();
  655.             \$price02_sub.show();
  656.             // 通常価格(税込)
  657.             var \$price01 = \$form.parent().find('.price01Tax-default-Custom').first();
  658.             if (typeof this.price01Tax_origin === 'undefined') {
  659.                 // 初期値を保持しておく
  660.                 this.price01Tax_origin = \$price01.text();
  661.             }
  662.             \$price01.text(this.price01Tax_origin);
  663.             // 販売価格(税込)
  664.             var \$price02 = \$form.parent().find('.price02Tax-default-Custom').first();
  665.             if (typeof price02Tax_origin[product_id] === 'undefined') {
  666.                 // 初期値を保持しておく
  667.                 price02Tax_origin[product_id] = \$price02.text();
  668.             }
  669.             \$price02.text(price02Tax_origin[product_id]);
  670.             // 商品規格
  671.             var \$product_class_id_dynamic = \$form.find('[id^=ProductClass]');
  672.             \$product_class_id_dynamic.val('');
  673.         } else {
  674.             // 商品コード
  675.             var \$product_code = \$('.product-code-default');
  676.             if (classcat2 && typeof classcat2.product_code !== 'undefined') {
  677.                 \$product_code.text(classcat2.product_code);
  678.             } else {
  679.                 \$product_code.text(this.product_code_origin);
  680.             }
  681.             // 在庫(品切れ)
  682.             var \$cartbtn = \$form.parent().find('.add-cart').first();
  683.             if (typeof this.product_cart_origin === 'undefined') {
  684.                 // 初期値を保持しておく
  685.                 this.product_cart_origin = \$cartbtn.text();
  686.             }
  687.             if (classcat2 && classcat2.stock_find === false) {
  688.                 \$cartbtn.prop('disabled', true);
  689.                 \$cartbtn.text('ただいま品切れ中です');
  690.             } else {
  691.                 \$cartbtn.prop('disabled', false);
  692.                 \$cartbtn.text(this.product_cart_origin);
  693.             }
  694.             // 通常価格
  695.             var \$price01 = \$form.parent().find('.price01-default-Custom').first();
  696.             if (typeof this.price01_origin === 'undefined') {
  697.                 // 初期値を保持しておく
  698.                 this.price01_origin = \$price01.text();
  699.             }
  700.             if (classcat2 && typeof classcat2.price01 !== 'undefined' && String(classcat2.price01).length >= 1) {
  701.                 \$price01.text('¥' + classcat2.price01);
  702.             } else {
  703.                 \$price01.text(this.price01_origin);
  704.             }
  705.             // 販売価格
  706.             var \$price02 = \$form.parent().find('.price02-default-Custom').first();
  707.             if (typeof price02_origin[product_id] === 'undefined') {
  708.                 // 初期値を保持しておく
  709.                 price02_origin[product_id] = \$price02.text();
  710.             }
  711.             if (classcat2 && typeof classcat2.price02 !== 'undefined' && String(classcat2.price02).length >= 1) {
  712.                 ";
  713.         // line 528
  714.         echo "                \$price02.text(classcat2.price02);
  715.                 ";
  716.         // line 530
  717.         echo "                var \$price02_sub = \$form.parent().find('.price02-default-Custom-sub').first();
  718.                 \$price02_sub.hide();
  719.             } else {
  720.                 \$price02.text(price02_origin[product_id]);
  721.             }
  722.             // 通常価格(税込)
  723.             var \$price01 = \$form.parent().find('.price01Tax-default-Custom').first();
  724.             if (typeof this.price01Tax_origin === 'undefined') {
  725.                 // 初期値を保持しておく
  726.                 this.price01Tax_origin = \$price01.text();
  727.             }
  728.             if (classcat2 && typeof classcat2.price01 !== 'undefined' && String(classcat2.price01).length >= 1) {
  729.                 \$price01.text('¥' + classcat2.price01_inc_tax);
  730.             } else {
  731.                 \$price01.text(this.price01Tax_origin);
  732.             }
  733.             // 販売価格(税込)
  734.             var \$price02 = \$form.parent().find('.price02Tax-default-Custom').first();
  735.             if (typeof price02Tax_origin[product_id] === 'undefined') {
  736.                 // 初期値を保持しておく
  737.                 price02Tax_origin[product_id] = \$price02.text();
  738.             }
  739.             if (classcat2 && typeof classcat2.price02 !== 'undefined' && String(classcat2.price02).length >= 1) {
  740.                 ";
  741.         // line 556
  742.         echo "                \$price02.text(classcat2.price02_inc_tax);
  743.             } else {
  744.                 \$price02.text(price02Tax_origin[product_id]);
  745.             }
  746.             // ポイント
  747.             var \$point_default = \$form.find('[id^=point_default]');
  748.             var \$point_dynamic = \$form.find('[id^=point_dynamic]');
  749.             if (classcat2 && typeof classcat2.point !== 'undefined' && String(classcat2.point).length >= 1) {
  750.                 \$point_dynamic.text(classcat2.point).show();
  751.                 \$point_default.hide();
  752.             } else {
  753.                 \$point_dynamic.hide();
  754.                 \$point_default.show();
  755.             }
  756.             // 商品規格
  757.             var \$product_class_id_dynamic = \$form.find('[id^=ProductClass]');
  758.             if (classcat2 && typeof classcat2.product_class_id !== 'undefined' && String(classcat2.product_class_id).length >= 1) {
  759.                 \$product_class_id_dynamic.val(classcat2.product_class_id);
  760.             } else {
  761.                 \$product_class_id_dynamic.val('');
  762.             }
  763.         }
  764.     };
  765.     /**
  766.      * Initialize.
  767.      */
  768.     \$(function() {
  769.         // 規格1選択時
  770.         \$('select[name=classcategory_id1]')
  771.             .change(function() {
  772.                 var \$form = \$(this).parents('form');
  773.                 var product_id = \$form.find('input[name=product_id]').val();
  774.                 var \$sele1 = \$(this);
  775.                 var \$sele2 = \$form.find('select[name=classcategory_id2]');
  776.                 // 規格1のみの場合
  777.                 if (!\$sele2.length) {
  778.                     eccube.checkStock(\$form, product_id, \$sele1.val(), null);
  779.                     // 規格2ありの場合
  780.                 } else {
  781.                     eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2);
  782.                 }
  783.             });
  784.         // 規格2選択時
  785.         \$('select[name=classcategory_id2]')
  786.             .change(function() {
  787.                 var \$form = \$(this).parents('form');
  788.                 var product_id = \$form.find('input[name=product_id]').val();
  789.                 var \$sele1 = \$form.find('select[name=classcategory_id1]');
  790.                 var \$sele2 = \$(this);
  791.                 eccube.checkStock(\$form, product_id, \$sele1.val(), \$sele2.val());
  792.             });
  793.     });
  794. })(window);
  795. </script>
  796. ";
  797.         
  798.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  799.         
  800.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  801.     }
  802.     // line 622
  803.     public function block_main($context, array $blocks = [])
  804.     {
  805.         $macros $this->macros;
  806.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  807.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  808.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  809.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  810.         // line 623
  811.         echo "    <div class=\"ec-productRole\">
  812.         <div class=\"ec-grid2\" style=\"margin-bottom: 50px;\">
  813.             <div class=\"ec-grid2__cell\">
  814.                 <div class=\"ec-sliderItemRole\">
  815.                     <div class=\"item_visual\">
  816.                         ";
  817.         // line 629
  818.         $context['_parent'] = $context;
  819.         $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.'629$this->source); })()), "ProductImage", [], "any"falsefalsefalse629));
  820.         $context['_iterated'] = false;
  821.         $context['loop'] = [
  822.           'parent' => $context['_parent'],
  823.           'index0' => 0,
  824.           'index'  => 1,
  825.           'first'  => true,
  826.         ];
  827.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  828.             $length count($context['_seq']);
  829.             $context['loop']['revindex0'] = $length 1;
  830.             $context['loop']['revindex'] = $length;
  831.             $context['loop']['length'] = $length;
  832.             $context['loop']['last'] = === $length;
  833.         }
  834.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  835.             // line 630
  836.             echo "                            <div class=\"slide-item\"><img src=\"";
  837.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  838.             echo "\" alt=\"";
  839.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse630)) ? (print (twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'630$this->source); })()), "name", [], "any"falsefalsefalse630), "html"nulltrue))) : (print ("")));
  840.             echo "\"></div>
  841.                         ";
  842.             $context['_iterated'] = true;
  843.             ++$context['loop']['index0'];
  844.             ++$context['loop']['index'];
  845.             $context['loop']['first'] = false;
  846.             if (isset($context['loop']['length'])) {
  847.                 --$context['loop']['revindex0'];
  848.                 --$context['loop']['revindex'];
  849.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  850.             }
  851.         }
  852.         if (!$context['_iterated']) {
  853.             // line 632
  854.             echo "                            <div class=\"slide-item\"><img src=\"";
  855.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  856.             echo "\" alt=\"";
  857.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse632)) ? (print (twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'632$this->source); })()), "name", [], "any"falsefalsefalse632), "html"nulltrue))) : (print ("")));
  858.             echo "\" /></div>
  859.                         ";
  860.         }
  861.         $_parent $context['_parent'];
  862.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  863.         $context array_intersect_key($context$_parent) + $_parent;
  864.         // line 634
  865.         echo "                    </div>
  866.                     ";
  867.         // line 636
  868.         echo "                        ";
  869.         // line 637
  870.         echo "                            ";
  871.         // line 638
  872.         echo "                        ";
  873.         // line 639
  874.         echo "                    ";
  875.         // line 640
  876.         echo "                </div>
  877.             </div>
  878.             <div class=\"ec-grid2__cell\">
  879.                 <div class=\"ec-productRole__profile\">
  880. ";
  881.         // line 645
  882.         if (((isset($context["sidebar_type"]) || array_key_exists("sidebar_type"$context) ? $context["sidebar_type"] : (function () { throw new RuntimeError('Variable "sidebar_type" does not exist.'645$this->source); })()) == 1)) {
  883.             // line 646
  884.             echo "                    ";
  885.             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.'646$this->source); })()), "code_min", [], "any"falsefalsefalse646))) {
  886.                 // line 647
  887.                 echo "                        <p style=\"font-size: 12px;\">型番<br /></p>
  888.                         <span class=\"product-code-default\">";
  889.                 // line 648
  890.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'648$this->source); })()), "code_min", [], "any"falsefalsefalse648), "html"nulltrue);
  891.                 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.'648$this->source); })()), "code_min", [], "any"falsefalsefalse648) != 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.'648$this->source); })()), "code_max", [], "any"falsefalsefalse648))) {
  892.                     echo " ~ ";
  893.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'648$this->source); })()), "code_max", [], "any"falsefalsefalse648), "html"nulltrue);
  894.                 }
  895.                 echo "</span>
  896.                     ";
  897.             }
  898.         }
  899.         // line 650
  900.         echo "\t
  901. \t\t\t\t\t";
  902.         // line 652
  903.         echo "                    <div class=\"ec-productRole__description\">";
  904.         echo twig_nl2br(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'652$this->source); })()), "description_detail", [], "any"falsefalsefalse652));
  905.         echo "
  906.                     </div>
  907.                     ";
  908.         // line 655
  909.         echo "                    ";
  910.         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.'655$this->source); })()), "hasProductClass", [], "any"falsefalsefalse655)) {
  911.             // line 656
  912.             echo "<div class=\"ec-productRole__priceRegular\">
  913.                             ";
  914.             // line 657
  915.             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.'657$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse657)) && (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.'657$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse657) == 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.'657$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse657)))) {
  916.                 // line 658
  917.                 echo "                                <span class=\"ec-productRole__priceRegularPrice\">";
  918.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  919.                 echo ":<span class=\"price01-default\">";
  920.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'658$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse658)), "html"nulltrue);
  921.                 echo "</span></span>
  922.                                 <span class=\"ec-productRole__priceRegularTax\">";
  923.                 // line 659
  924.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  925.                 echo "</span>
  926.                             ";
  927.             } elseif (( !(null === twig_get_attribute($this->env$this->source,             // line 660
  928. (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'660$this->source); })()), "getPrice01Min", [], "any"falsefalsefalse660)) &&  !(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.'660$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse660)))) {
  929.                 // line 661
  930.                 echo "                                <span class=\"ec-productRole__priceRegularPrice\">";
  931.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  932.                 echo ":<span class=\"price01-default\">";
  933.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'661$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse661)), "html"nulltrue);
  934.                 echo "~ ";
  935.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'661$this->source); })()), "getPrice01IncTaxMax", [], "any"falsefalsefalse661)), "html"nulltrue);
  936.                 echo "</span></span>
  937.                                 <span class=\"ec-productRole__priceRegularTax\">";
  938.                 // line 662
  939.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  940.                 echo "</span>
  941.                             ";
  942.             }
  943.             // line 664
  944.             echo "                        </div>
  945.                     ";
  946.         } else {
  947.             // line 666
  948.             echo "                        ";
  949.             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.'666$this->source); })()), "getPrice01Max", [], "any"falsefalsefalse666))) {
  950.                 // line 667
  951.                 echo "                            <span class=\"ec-productRole__priceRegularPrice\">";
  952.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  953.                 echo ":";
  954.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'667$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsefalse667)), "html"nulltrue);
  955.                 echo "</span>
  956.                             <span class=\"ec-productRole__priceRegularTax\">";
  957.                 // line 668
  958.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  959.                 echo "</span>
  960.                         ";
  961.             }
  962.             // line 670
  963.             echo "                    ";
  964.         }
  965.         // line 671
  966.         echo "                    ";
  967.         if ((isset($context["customSaleTypeRental"]) || array_key_exists("customSaleTypeRental"$context) ? $context["customSaleTypeRental"] : (function () { throw new RuntimeError('Variable "customSaleTypeRental" does not exist.'671$this->source); })())) {
  968.             // line 672
  969.             echo "                    レンタル月額
  970.                     ";
  971.         }
  972.         // line 674
  973.         echo "                    
  974.                     ";
  975.         // line 676
  976.         echo "                    <div class=\"ec-productRole__price\">
  977.                         ";
  978.         // line 677
  979.         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.'677$this->source); })()), "hasProductClass", [], "any"falsefalsefalse677)) {
  980.             // line 678
  981.             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.'678$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse678) == 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.'678$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse678))) {
  982.                 // line 679
  983.                 echo "                                <div class=\"ec-price\">
  984.                                     <span class=\"ec-price__price price02-default\">";
  985.                 // line 680
  986.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'680$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse680)), "html"nulltrue);
  987.                 echo "</span>
  988.                                     <span class=\"ec-price__tax\">";
  989.                 // line 681
  990.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  991.                 echo "</span>
  992.                                 </div>
  993.                             ";
  994.             } else {
  995.                 // line 684
  996.                 echo "                                <div class=\"ec-price\">
  997.                                     <span class=\"ec-price__price price02-default\">";
  998.                 // line 685
  999.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'685$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse685)), "html"nulltrue);
  1000.                 echo " ~ ";
  1001.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'685$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse685)), "html"nulltrue);
  1002.                 echo "</span>
  1003.                                     <span class=\"ec-price__tax\">";
  1004.                 // line 686
  1005.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1006.                 echo "</span>
  1007.                                     ";
  1008.                 // line 688
  1009.                 echo "                                    <span class=\"price02-default-Custom-sub\" style=\"font-size: 12px;\"><br />(オートシップメント契約価格";
  1010.                 echo twig_escape_filter($this->envtwig_number_format_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'688$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse688)), "html"nulltrue);
  1011.                 echo "円税込)</span>
  1012.                                 </div>
  1013.                             ";
  1014.             }
  1015.             // line 691
  1016.             echo "
  1017.                         ";
  1018.         } else {
  1019.             // line 693
  1020.             echo "                            <div class=\"ec-price\">
  1021.                                 <span class=\"ec-price__price\">";
  1022.             // line 694
  1023.             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'694$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse694)), "html"nulltrue);
  1024.             echo "</span>
  1025.                                 <span class=\"ec-price__tax\">";
  1026.             // line 695
  1027.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1028.             echo "</span>
  1029.                             </div>
  1030.                         ";
  1031.         }
  1032.         // line 698
  1033.         echo "                        ";
  1034.         if ( !(isset($context["customSaleTypeRental"]) || array_key_exists("customSaleTypeRental"$context) ? $context["customSaleTypeRental"] : (function () { throw new RuntimeError('Variable "customSaleTypeRental" does not exist.'698$this->source); })())) {
  1035.             // line 699
  1036.             echo "\t\t\t\t\t\t<p style=\"font-size: 12px;\">※ 分割払いに対応しております(金利手数料無料)<br /></p>
  1037.                         ";
  1038.         }
  1039.         // line 701
  1040.         echo "                    </div>
  1041. \t\t\t\t\t
  1042. ";
  1043.         // line 704
  1044.         if ((((isset($context["sidebar_type"]) || array_key_exists("sidebar_type"$context) ? $context["sidebar_type"] : (function () { throw new RuntimeError('Variable "sidebar_type" does not exist.'704$this->source); })()) == 2) || ((isset($context["sidebar_type"]) || array_key_exists("sidebar_type"$context) ? $context["sidebar_type"] : (function () { throw new RuntimeError('Variable "sidebar_type" does not exist.'704$this->source); })()) == 1))) {
  1045.             // line 705
  1046.             echo "\t\t\t\t\t\t<br /><p style=\"font-size: 12px;\">対応機種<br /></p>
  1047. ";
  1048.         }
  1049.         // line 706
  1050.         echo "\t\t\t\t\t
  1051.                     ";
  1052.         // line 708
  1053.         echo "                    <ul class=\"ec-productRole__tags\">
  1054.                         ";
  1055.         // line 709
  1056.         $context['_parent'] = $context;
  1057.         $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.'709$this->source); })()), "Tags", [], "any"falsefalsefalse709));
  1058.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  1059.             // line 710
  1060.             echo "                            <li class=\"ec-productRole__tag tag_";
  1061.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse710), "html"nulltrue);
  1062.             echo "\">";
  1063.             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  1064.             echo "</li>
  1065.                         ";
  1066.         }
  1067.         $_parent $context['_parent'];
  1068.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  1069.         $context array_intersect_key($context$_parent) + $_parent;
  1070.         // line 712
  1071.         echo "                    </ul>
  1072.                     ";
  1073.         // line 714
  1074.         echo "\t\t\t\t\t";
  1075.         // line 715
  1076.         echo "\t\t\t\t\t";
  1077.         // line 716
  1078.         echo "     ";
  1079.         // line 717
  1080.         echo "     ";
  1081.         // line 718
  1082.         echo "     ";
  1083.         // line 719
  1084.         echo "\t\t\t\t\t";
  1085.         // line 720
  1086.         echo "\t\t\t\t\t
  1087.                     ";
  1088.         // line 723
  1089.         echo "                    <form action=\"";
  1090.         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.'723$this->source); })()), "id", [], "any"falsefalsefalse723)]), "html"nulltrue);
  1091.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  1092.                         ";
  1093.         // line 724
  1094.         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.'724$this->source); })()), "stock_find", [], "any"falsefalsefalse724)) {
  1095.             // line 725
  1096.             echo "                            <div class=\"ec-productRole__actions\">
  1097.                                 ";
  1098.             // line 726
  1099.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse726)) {
  1100.                 // line 727
  1101.                 echo "                                    <div class=\"ec-select\">
  1102.                                         ";
  1103.                 // line 728
  1104.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'728$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse728), 'widget');
  1105.                 echo "
  1106.                                         ";
  1107.                 // line 729
  1108.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'729$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse729), 'errors');
  1109.                 echo "
  1110.                                     </div>
  1111.                                     ";
  1112.                 // line 731
  1113.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse731)) {
  1114.                     // line 732
  1115.                     echo "                                        <div class=\"ec-select\">
  1116.                                             ";
  1117.                     // line 733
  1118.                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'733$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse733), 'widget');
  1119.                     echo "
  1120.                                             ";
  1121.                     // line 734
  1122.                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'734$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse734), 'errors');
  1123.                     echo "
  1124.                                         </div>
  1125.                                     ";
  1126.                 }
  1127.                 // line 737
  1128.                 echo "                                ";
  1129.             }
  1130.             // line 738
  1131.             echo "                                <div class=\"ec-numberInput\"><span>";
  1132.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  1133.             echo "</span>
  1134.                                 ";
  1135.             // line 739
  1136.             if ((isset($context["customSaleTypeRental"]) || array_key_exists("customSaleTypeRental"$context) ? $context["customSaleTypeRental"] : (function () { throw new RuntimeError('Variable "customSaleTypeRental" does not exist.'739$this->source); })())) {
  1137.                 // line 740
  1138.                 echo "                                    ";
  1139.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'740$this->source); })()), "quantity", [], "any"falsefalsefalse740), 'widget', ["attr" => ["disabled" => "disabled"]]);
  1140.                 echo "
  1141.                                 ";
  1142.             } else {
  1143.                 // line 742
  1144.                 echo "                                    ";
  1145.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'742$this->source); })()), "quantity", [], "any"falsefalsefalse742), 'widget');
  1146.                 echo "
  1147.                                     ";
  1148.                 // line 743
  1149.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'743$this->source); })()), "quantity", [], "any"falsefalsefalse743), 'errors');
  1150.                 echo "
  1151.                                 ";
  1152.             }
  1153.             // line 745
  1154.             echo "                                </div>
  1155.                             </div>
  1156.                             ";
  1157.             // line 747
  1158.             if ((isset($context["customSaleTypeRental"]) || array_key_exists("customSaleTypeRental"$context) ? $context["customSaleTypeRental"] : (function () { throw new RuntimeError('Variable "customSaleTypeRental" does not exist.'747$this->source); })())) {
  1159.                 // line 748
  1160.                 echo "    \t\t\t\t\t\t<div class=\"ec-productRole__btn\">
  1161.     \t\t\t\t\t\t\t<div class=\"ec-blockBtn--action\" id=\"Product_rental\">
  1162.     \t\t\t\t\t\t\t\t";
  1163.                 // line 750
  1164.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("レンタルについて詳細・お申込み"), "html"nulltrue);
  1165.                 echo "
  1166.     \t\t\t\t\t\t\t</div>
  1167.     \t\t\t\t\t\t</div>
  1168.                             <div class=\"rental-disclaimer\">
  1169.                                 <p>お申込み時は会員登録が必要です</p>
  1170.                             </div>
  1171.                             ";
  1172.             } else {
  1173.                 // line 757
  1174.                 echo "                            <div class=\"ec-productRole__btn\">
  1175.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1176.                                     ";
  1177.                 // line 759
  1178.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  1179.                 echo "
  1180.                                 </button>
  1181.                             </div>
  1182.                             ";
  1183.             }
  1184.             // line 763
  1185.             echo "                        ";
  1186.         } else {
  1187.             // line 764
  1188.             echo "                            ";
  1189.             // line 765
  1190.             echo "                            ";
  1191.             // line 766
  1192.             echo "                            ";
  1193.             // line 767
  1194.             echo "                            ";
  1195.             // line 768
  1196.             echo "                            ";
  1197.             // line 769
  1198.             echo "                        ";
  1199.         }
  1200.         // line 770
  1201.         echo "
  1202.                         ";
  1203.         // line 771
  1204.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'771$this->source); })()), 'rest');
  1205.         echo "
  1206.                     </form>
  1207.                     <div class=\"ec-modal\">
  1208.                         <div class=\"ec-modal-overlay\">
  1209.                             <div class=\"ec-modal-wrap\">
  1210.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  1211.         // line 776
  1212.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  1213.         echo "\" alt=\"\"/></span></span>
  1214.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  1215.         // line 777
  1216.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  1217.         echo "</div>
  1218.                                 <div class=\"ec-modal-box\">
  1219.                                     <div class=\"ec-role\">
  1220.                                         <span class=\"ec-inlineBtn--cancel\">";
  1221.         // line 780
  1222.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  1223.         echo "</span>
  1224.                                         <a href=\"";
  1225.         // line 781
  1226.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  1227.         echo "\" class=\"ec-inlineBtn--action\" style=\"color:#fff;\">";
  1228.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  1229.         echo "</a>
  1230.                                     </div>
  1231.                                 </div>
  1232.                             </div>
  1233.                         </div>
  1234.                     </div>
  1235.                     ";
  1236.         // line 787
  1237.         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.'787$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse787)) {
  1238.             // line 788
  1239.             echo "                        <form action=\"";
  1240.             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.'788$this->source); })()), "id", [], "any"falsefalsefalse788)]), "html"nulltrue);
  1241.             echo "\" method=\"post\">
  1242.                             <div class=\"ec-productRole__btn\">
  1243.                                 ";
  1244.             // line 790
  1245.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'790$this->source); })()) == false)) {
  1246.                 // line 791
  1247.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  1248.                                         ";
  1249.                 // line 792
  1250.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  1251.                 echo "
  1252.                                     </button>
  1253.                                 ";
  1254.             } else {
  1255.                 // line 795
  1256.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  1257.                                             disabled=\"disabled\">";
  1258.                 // line 796
  1259.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html"nulltrue);
  1260.                 echo "
  1261.                                     </button>
  1262.                                 ";
  1263.             }
  1264.             // line 799
  1265.             echo "                            </div>
  1266.                         </form>
  1267.                     ";
  1268.         }
  1269.         // line 802
  1270.         echo "\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
  1271.                             ";
  1272.         // line 803
  1273.         if ((isset($context["customSaleTypeRental"]) || array_key_exists("customSaleTypeRental"$context) ? $context["customSaleTypeRental"] : (function () { throw new RuntimeError('Variable "customSaleTypeRental" does not exist.'803$this->source); })())) {
  1274.             // line 804
  1275.             echo "                            <div class=\"ec-blockBtn--action\" id=\"Product_rental_contact\">
  1276.                             \t";
  1277.             // line 805
  1278.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("資料請求・お問い合わせ"), "html"nulltrue);
  1279.             echo "
  1280. \t\t\t\t\t\t\t</div>
  1281.                             ";
  1282.         } else {
  1283.             // line 808
  1284.             echo "\t\t\t\t\t\t\t<div class=\"ec-blockBtn--action\" id=\"Product_contact\">
  1285. \t\t\t\t\t\t\t\t";
  1286.             // line 809
  1287.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("資料請求・お問い合わせ"), "html"nulltrue);
  1288.             echo "
  1289. \t\t\t\t\t\t\t</div>
  1290.                             ";
  1291.         }
  1292.         // line 812
  1293.         echo "\t\t\t\t\t\t</div>
  1294.                         
  1295.         ";
  1296.         // line 815
  1297.         echo "        ";
  1298.         // line 816
  1299.         echo "        ";
  1300.         $context['_parent'] = $context;
  1301.         $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.'816$this->source); })()), "RelatedProducts", [], "any"falsefalsefalse816));
  1302.         foreach ($context['_seq'] as $context["_key"] => $context["RelatedProduct"]) {
  1303.             // line 817
  1304.             echo "            ";
  1305.             $context["ChildProduct"] = twig_get_attribute($this->env$this->source$context["RelatedProduct"], "ChildProduct", [], "any"falsefalsefalse817);
  1306.             // line 818
  1307.             echo "            ";
  1308.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ChildProduct"]) || array_key_exists("ChildProduct"$context) ? $context["ChildProduct"] : (function () { throw new RuntimeError('Variable "ChildProduct" does not exist.'818$this->source); })()), "Status", [], "any"falsefalsefalse818), "id", [], "any"falsefalsefalse818) == twig_constant("Eccube\\Entity\\Master\\ProductStatus::DISPLAY_SHOW"))) {
  1309.                 // line 819
  1310.                 echo "\t\t\t\t\t\t<div class=\"ec-productRole__btn\">
  1311. \t\t\t\t\t\t\t<div class=\"ec-blockBtn--action\" id=\"Product_cartridge\">
  1312. \t\t\t\t\t\t\t\t";
  1313.                 // line 821
  1314.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("対応カートリッジを見る"), "html"nulltrue);
  1315.                 echo "
  1316. \t\t\t\t\t\t\t</div>
  1317. \t\t\t\t\t\t</div>
  1318.             ";
  1319.             }
  1320.             // line 825
  1321.             echo "        ";
  1322.         }
  1323.         $_parent $context['_parent'];
  1324.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['RelatedProduct'], $context['_parent'], $context['loop']);
  1325.         $context array_intersect_key($context$_parent) + $_parent;
  1326.         // line 826
  1327.         echo "                </div>
  1328.             </div>
  1329.         </div>
  1330.         ";
  1331.         // line 829
  1332.         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.'829$this->source); })()), "freearea", [], "any"falsefalsefalse829)) {
  1333.             // line 830
  1334.             echo "             <div class=\"ec-productRole__description\">
  1335.                  ";
  1336.             // line 831
  1337.             echo twig_include($this->env$contexttwig_template_from_string($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'831$this->source); })()), "freearea", [], "any"falsefalsefalse831)));
  1338.             echo "
  1339.             </div>
  1340.         ";
  1341.         }
  1342.         // line 834
  1343.         echo "    </div>
  1344. ";
  1345.         
  1346.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  1347.         
  1348.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  1349.     }
  1350.     public function getTemplateName()
  1351.     {
  1352.         return "Product/detail.twig";
  1353.     }
  1354.     public function isTraitable()
  1355.     {
  1356.         return false;
  1357.     }
  1358.     public function getDebugInfo()
  1359.     {
  1360.         return array (  1424 => 834,  1418 => 831,  1415 => 830,  1413 => 829,  1408 => 826,  1402 => 825,  1395 => 821,  1391 => 819,  1388 => 818,  1385 => 817,  1380 => 816,  1378 => 815,  1374 => 812,  1368 => 809,  1365 => 808,  1359 => 805,  1356 => 804,  1354 => 803,  1351 => 802,  1346 => 799,  1340 => 796,  1337 => 795,  1331 => 792,  1328 => 791,  1326 => 790,  1320 => 788,  1318 => 787,  1307 => 781,  1303 => 780,  1297 => 777,  1293 => 776,  1285 => 771,  1282 => 770,  1279 => 769,  1277 => 768,  1275 => 767,  1273 => 766,  1271 => 765,  1269 => 764,  1266 => 763,  1259 => 759,  1255 => 757,  1245 => 750,  1241 => 748,  1239 => 747,  1235 => 745,  1230 => 743,  1225 => 742,  1219 => 740,  1217 => 739,  1212 => 738,  1209 => 737,  1203 => 734,  1199 => 733,  1196 => 732,  1194 => 731,  1189 => 729,  1185 => 728,  1182 => 727,  1180 => 726,  1177 => 725,  1175 => 724,  1170 => 723,  1166 => 720,  1164 => 719,  1162 => 718,  1160 => 717,  1158 => 716,  1156 => 715,  1154 => 714,  1151 => 712,  1140 => 710,  1136 => 709,  1133 => 708,  1130 => 706,  1126 => 705,  1124 => 704,  1120 => 701,  1116 => 699,  1113 => 698,  1107 => 695,  1103 => 694,  1100 => 693,  1096 => 691,  1089 => 688,  1085 => 686,  1079 => 685,  1076 => 684,  1070 => 681,  1066 => 680,  1063 => 679,  1061 => 678,  1059 => 677,  1056 => 676,  1053 => 674,  1049 => 672,  1046 => 671,  1043 => 670,  1038 => 668,  1031 => 667,  1028 => 666,  1024 => 664,  1019 => 662,  1010 => 661,  1008 => 660,  1004 => 659,  997 => 658,  995 => 657,  992 => 656,  989 => 655,  983 => 652,  980 => 650,  970 => 648,  967 => 647,  964 => 646,  962 => 645,  956 => 640,  954 => 639,  952 => 638,  950 => 637,  948 => 636,  945 => 634,  934 => 632,  916 => 630,  898 => 629,  890 => 623,  880 => 622,  807 => 556,  780 => 530,  777 => 528,  709 => 461,  601 => 354,  598 => 352,  589 => 345,  585 => 344,  581 => 343,  577 => 342,  573 => 340,  567 => 338,  565 => 337,  560 => 336,  557 => 335,  547 => 333,  533 => 331,  525 => 330,  507 => 329,  502 => 327,  479 => 307,  472 => 303,  461 => 295,  431 => 268,  426 => 265,  417 => 259,  413 => 257,  411 => 256,  408 => 255,  399 => 249,  395 => 247,  393 => 246,  389 => 244,  383 => 243,  377 => 240,  374 => 239,  371 => 238,  368 => 237,  364 => 236,  359 => 234,  353 => 231,  346 => 227,  340 => 224,  333 => 219,  329 => 216,  294 => 182,  286 => 180,  284 => 179,  279 => 177,  276 => 176,  274 => 175,  260 => 164,  257 => 163,  247 => 162,  118 => 41,  108 => 40,  97 => 36,  95 => 38,  82 => 29,  80 => 28,  78 => 27,  75 => 25,  73 => 24,  71 => 23,  69 => 22,  65 => 21,  61 => 20,  59 => 19,  57 => 16,  55 => 15,  52 => 12,  50 => 11,  37 => 36,);
  1361.     }
  1362.     public function getSourceContext()
  1363.     {
  1364.         return new Source("{#
  1365. This file is part of EC-CUBE
  1366. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1367. http://www.ec-cube.co.jp/
  1368. For the full copyright and license information, please view the LICENSE
  1369. file that was distributed with this source code.
  1370. #}
  1371. {% if Product.id in eccube_config.noindex %}
  1372.     {% do Page.setMetaRobots('noindex') %}
  1373. {% endif %}
  1374. {% set sidbar_out = false %}
  1375. {% set sidebar_type = 0 %}
  1376.     {# 商品詳細からの場合 #}
  1377.     {% if Product.ProductCategories is not empty %}
  1378.         {% for ProductCategory in Product.ProductCategories %}
  1379.             {% for Path in ProductCategory.Category.path %}
  1380.                 {% if Path.hierarchy == 1 %}
  1381.                     {% if Path.name == '部品' %}
  1382.                         {% set sidebar_type = 1 %}
  1383.                         {% set sidbar_out = true %}
  1384.                     {% endif %}
  1385.                     {% if Path.name == 'カートリッジ' %}
  1386.                         {% set sidebar_type = 2 %}
  1387.                         {% set sidbar_out = true %}
  1388.                     {% endif %}
  1389.                 {% endif %}
  1390.             {% endfor %}
  1391.         {% endfor %}
  1392.     {% endif %}
  1393. {% extends 'default_frame.twig' %}
  1394. {% set body_class = 'product_page' %}
  1395. {% block stylesheet %}
  1396.     <style>
  1397.         .slick-slider {
  1398.             margin-bottom: 30px;
  1399.         }
  1400.         .slick-dots {
  1401.             position: absolute;
  1402.             bottom: -45px;
  1403.             display: block;
  1404.             width: 100%;
  1405.             padding: 0;
  1406.             list-style: none;
  1407.             text-align: center;
  1408.         }
  1409.         .slick-dots li {
  1410.             position: relative;
  1411.             display: inline-block;
  1412.             width: 20px;
  1413.             height: 20px;
  1414.             margin: 0 5px;
  1415.             padding: 0;
  1416.             cursor: pointer;
  1417.         }
  1418.         .slick-dots li button {
  1419.             font-size: 0;
  1420.             line-height: 0;
  1421.             display: block;
  1422.             width: 20px;
  1423.             height: 20px;
  1424.             padding: 5px;
  1425.             cursor: pointer;
  1426.             color: transparent;
  1427.             border: 0;
  1428.             outline: none;
  1429.             background: transparent;
  1430.         }
  1431.         .slick-dots li button:hover,
  1432.         .slick-dots li button:focus {
  1433.             outline: none;
  1434.         }
  1435.         .slick-dots li button:hover:before,
  1436.         .slick-dots li button:focus:before {
  1437.             opacity: 1;
  1438.         }
  1439.         .slick-dots li button:before {
  1440.             content: \" \";
  1441.             line-height: 20px;
  1442.             position: absolute;
  1443.             top: 0;
  1444.             left: 0;
  1445.             width: 12px;
  1446.             height: 12px;
  1447.             text-align: center;
  1448.             opacity: .25;
  1449.             background-color: black;
  1450.             border-radius: 50%;
  1451.         }
  1452.         .slick-dots li.slick-active button:before {
  1453.             opacity: .75;
  1454.             background-color: black;
  1455.         }
  1456.         .slick-dots li button.thumbnail img {
  1457.             width: 0;
  1458.             height: 0;
  1459.         }
  1460. \t\t.ec-price{
  1461. \t\t\tmargin-bottom: 20px !important;
  1462. \t\t}
  1463. \t\t.ec-price__price{
  1464. \t\t\tpadding: 0 0 5px 0 !important;
  1465. \t\t\tborder-bottom: 1px solid !important;
  1466. \t\t\tfont-size: 22px !important;
  1467. \t\t\tfont-weight: bold !important;
  1468. \t\t}
  1469. \t\t.ec-price__tax{
  1470. \t\t\tfont-size: 16px !important;
  1471. \t\t}
  1472. \t\t.ec-blockBtn--action{
  1473. \t\t\tmargin-bottom: 0;
  1474. \t\t\tfont-weight: bold;
  1475. \t\t\ttext-align: center;
  1476. \t\t\tvertical-align: middle;
  1477. \t\t\ttouch-action: manipulation;
  1478. \t\t\tcursor: pointer;
  1479. \t\t\tbackground-image: none;
  1480. \t\t\tborder: 1px solid transparent;
  1481. \t\t\twhite-space: nowrap;
  1482. \t\t\tfont-size: 13px !important;
  1483. \t\t\tborder-radius: 0px;
  1484. \t\t\tuser-select: none;
  1485. \t\t\tpadding: 10px 16px;
  1486. \t\t\ttext-decoration: none;
  1487. \t\t\tcolor: #fff;
  1488. \t\t\tdisplay: block;
  1489. \t\t\twidth: 100%;
  1490. \t\t\theight: 40px !important;
  1491. \t\t\tline-height: 40px !important;
  1492. \t\t\tpadding-top: 0;
  1493. \t\t\tpadding-bottom: 0;
  1494. \t\t}
  1495. \t\t.ec-layoutRole__mainBottom{
  1496. \t\t\tpadding: 0 2.5% !important;
  1497. \t\t}
  1498. \t\t
  1499. \t\t.rental-disclaimer{
  1500.             margin-bottom: 10px;
  1501.         }
  1502. \t\t
  1503.     </style>
  1504. {% endblock %}
  1505. {% block javascript %}
  1506.     <script>
  1507.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1508.         // 規格2に選択肢を割り当てる。
  1509.         function fnSetClassCategories(form, classcat_id2_selected) {
  1510.             var \$form = \$(form);
  1511.             var product_id = \$form.find('input[name=product_id]').val();
  1512.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1513.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1514.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  1515.         }
  1516.         {% if form.classcategory_id2 is defined %}
  1517.         fnSetClassCategories(
  1518.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  1519.         );
  1520.         {% elseif form.classcategory_id1 is defined %}
  1521.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  1522.         {% endif %}
  1523.     </script>
  1524.     <script>
  1525.         \$(function() {
  1526.             // bfcache無効化
  1527.             \$(window).bind('pageshow', function(event) {
  1528.                 if (event.originalEvent.persisted) {
  1529.                     location.reload(true);
  1530.                 }
  1531.             });
  1532.             \$('.item_visual').slick({
  1533.                 autoplay: true,         //自動再生
  1534.                 speed: 300,             //スライドするスピード
  1535.                 dots: true,             //ドット
  1536.                 arrows: false,          //矢印
  1537.                 infinite: true,         //スライドのループ
  1538.                 pauseOnHover: false,    //ホバーしたときにスライドを一時停止しない
  1539.                 responsive: [{
  1540.                     breakpoint: 768,
  1541.                     settings: {
  1542.                         dots: true
  1543.                     }
  1544.                 }]
  1545.             });
  1546.             \$('.slideThumb').on('click', function() {
  1547.                 var index = \$(this).attr('data-index');
  1548.                 \$('.item_visual').slick('slickGoTo', index, false);
  1549.             })
  1550.         });
  1551.     </script>
  1552.     <script>
  1553.         if (\$('[name=\"classcategory_id1\"] option').length == 2) {
  1554.             {# 選択肢は実質1つであるため、不要な操作をさせない #}
  1555.             \$('[name=\"classcategory_id1\"] option[value=\"__unselected\"]').remove();
  1556.         } else {
  1557.             {# 規格設定の選択項目を「選択してください」→「購入方法」へ変更 #}
  1558.             \$('[name=\"classcategory_id1\"] option[value=\"__unselected\"]').text(\"購入方法\");
  1559.         }
  1560.         
  1561.         \$(function() {
  1562.             \$('#Product_contact').on('click', function() {
  1563.                 window.location.href = '{{ eccube_config.multipure_contact }}';
  1564.             });
  1565.             \$('#Product_rental').on('click', function() {
  1566.                 let href = '{{ eccube_config.multipure_lp_rental }}';
  1567.                 window.open(href, \"_blank\");
  1568.             });
  1569.             \$('#Product_rental_contact').on('click', function() {
  1570.                 window.location.href = '{{ eccube_config.multipure_contact_lp_rental }}';
  1571.             });
  1572.             \$('#Product_rental_entry').on('click', function() {
  1573.                 window.location.href = '{{ url('rental_entry', {id: Product.id}) }}';
  1574.             });
  1575.         {% for RelatedProduct in Product.RelatedProducts %}
  1576.             {% set ChildProduct = RelatedProduct.ChildProduct %}
  1577.             {% if ChildProduct.Status.id == constant(\"Eccube\\\\Entity\\\\Master\\\\ProductStatus::DISPLAY_SHOW\") %}
  1578.                 \$('#Product_cartridge').on('click', function() {
  1579.                     window.location.href = '{{ url('product_detail', {id : ChildProduct.id}) }}';
  1580.                 });
  1581.             {% endif %}
  1582.         {% endfor %}
  1583.             \$('.add-cart').on('click', function(event) {
  1584.                 {% if form.classcategory_id1 is defined %}
  1585.                 // 規格1フォームの必須チェック
  1586.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  1587.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1588.                     return true;
  1589.                 } else {
  1590.                     \$('#classcategory_id1')[0].setCustomValidity('');
  1591.                 }
  1592.                 {% endif %}
  1593.                 {% if form.classcategory_id2 is defined %}
  1594.                 // 規格2フォームの必須チェック
  1595.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  1596.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1597.                     return true;
  1598.                 } else {
  1599.                     \$('#classcategory_id2')[0].setCustomValidity('');
  1600.                 }
  1601.                 {% endif %}
  1602.                 // 個数フォームのチェック
  1603.                 if (\$('#quantity').val() < 1) {
  1604.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1605.                     return true;
  1606.                 } else {
  1607.                     \$('#quantity')[0].setCustomValidity('');
  1608.                 }
  1609.                 event.preventDefault();
  1610.                 \$form = \$('#form1');
  1611.                 \$.ajax({
  1612.                     url: \$form.attr('action'),
  1613.                     type: \$form.attr('method'),
  1614.                     data: \$form.serialize(),
  1615.                     dataType: 'json',
  1616.                     beforeSend: function(xhr, settings) {
  1617.                         // Buttonを無効にする
  1618.                         \$('.add-cart').prop('disabled', true);
  1619.                     }
  1620.                 }).done(function(data) {
  1621.                     // レスポンス内のメッセージをalertで表示
  1622.                     \$.each(data.messages, function() {
  1623.                         \$('#ec-modal-header').html(this);
  1624.                     });
  1625.                     \$('.ec-modal').show()
  1626.                     // カートブロックを更新する
  1627.                     \$.ajax({
  1628.                         url: \"{{ url('block_cart') }}\",
  1629.                         type: 'GET',
  1630.                         dataType: 'html'
  1631.                     }).done(function(html) {
  1632.                         \$('.ec-headerRole__cart').html(html);
  1633.                         
  1634.                         // カートブロックが更新された場合、イベントが無効になるため再設定
  1635.                         \$('.ec-cartNavi').click(function() {
  1636.                             window.location.href = '{{ url('cart') }}';
  1637.                         });
  1638.                     });
  1639.                 }).fail(function(data) {
  1640.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1641.                 }).always(function(data) {
  1642.                     // Buttonを有効にする
  1643.                     \$('.add-cart').prop('disabled', false);
  1644.                 });
  1645.             });
  1646.         });
  1647.         \$('.ec-modal-wrap').on('click', function(e) {
  1648.             // モーダル内の処理は外側にバブリングさせない
  1649.             e.stopPropagation();
  1650.         });
  1651.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  1652.             \$('.ec-modal').hide()
  1653.         });
  1654.     </script>
  1655.     <script type=\"application/ld+json\">
  1656.     {
  1657.         \"@context\": \"https://schema.org/\",
  1658.         \"@type\": \"Product\",
  1659.         \"name\": \"{{ Product.name }}\",
  1660.         \"image\": [
  1661.             {% for img in Product.ProductImage %}
  1662.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  1663.             {% else %}
  1664.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  1665.             {% endfor %}
  1666.         ],
  1667.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  1668.         {% if Product.code_min %}
  1669.         \"sku\": \"{{ Product.code_min }}\",
  1670.         {% endif %}
  1671.         \"offers\": {
  1672.             \"@type\": \"Offer\",
  1673.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  1674.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  1675.             \"price\": {{ Product.getPrice02IncTaxMin }},
  1676.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  1677.         }
  1678.     }
  1679.     </script>
  1680. {# ここからは、カスタマイズ部分 #}
  1681. <script>
  1682. {# 規格選択イベントの上書き #}
  1683. (function(window, undefined) {
  1684.     // 名前空間の重複を防ぐ
  1685.     if (window.eccube === undefined) {
  1686.         window.eccube = {};
  1687.     }
  1688.     var eccube = window.eccube;
  1689.     // グローバルに使用できるようにする
  1690.     window.eccube = eccube;
  1691.     /**
  1692.      * 規格2のプルダウンを設定する.
  1693.      */
  1694.     eccube.setClassCategories = function(\$form, product_id, \$sele1, \$sele2, selected_id2) {
  1695.         if (\$sele1 && \$sele1.length) {
  1696.             var classcat_id1 = \$sele1.val() ? \$sele1.val() : '';
  1697.             if (\$sele2 && \$sele2.length) {
  1698.                 // 規格2の選択肢をクリア
  1699.                 \$sele2.children().remove();
  1700.                 var classcat2;
  1701.                 if (eccube.hasOwnProperty('productsClassCategories')) {
  1702.                     // 商品一覧時
  1703.                     classcat2 = eccube.productsClassCategories[product_id][classcat_id1];
  1704.                 } else {
  1705.                     // 詳細表示時
  1706.                     classcat2 = eccube.classCategories[classcat_id1];
  1707.                 }
  1708.                 // 規格2の要素を設定
  1709.                 for (var key in classcat2) {
  1710.                     if (classcat2.hasOwnProperty(key)) {
  1711.                         var id = classcat2[key].classcategory_id2;
  1712.                         var name = classcat2[key].name;
  1713.                         var option = \$('<option />').val(id ? id : '').text(name);
  1714.                         if (id === selected_id2) {
  1715.                             option.attr('selected', true);
  1716.                         }
  1717.                         \$sele2.append(option);
  1718.                     }
  1719.                 }
  1720.                 eccube.checkStock(\$form, product_id, \$sele1.val() ? \$sele1.val() : '__unselected2',
  1721.                     \$sele2.val() ? \$sele2.val() : '');
  1722.             }
  1723.         }
  1724.     };
  1725.     /**
  1726.      * 規格の選択状態に応じて, フィールドを設定する.
  1727.      */
  1728.     // 税抜価格を格納
  1729.     var price02_origin = [];
  1730.     // 税込価格を格納
  1731.     var price02Tax_origin = [];
  1732.     eccube.checkStock = function(\$form, product_id, classcat_id1, classcat_id2) {
  1733.         classcat_id2 = classcat_id2 ? classcat_id2 : '';
  1734.         var classcat2;
  1735.         if (eccube.hasOwnProperty('productsClassCategories')) {
  1736.             // 商品一覧時
  1737.             classcat2 = eccube.productsClassCategories[product_id][classcat_id1]['#' + classcat_id2];
  1738.         } else {
  1739.             // 詳細表示時
  1740.             if (typeof eccube.classCategories[classcat_id1] !== 'undefined') {
  1741.                 classcat2 = eccube.classCategories[classcat_id1]['#' + classcat_id2];
  1742.             }
  1743.         }
  1744.         if (typeof classcat2 === 'undefined') {
  1745.             // 商品コード
  1746.             var \$product_code = \$('.product-code-default');
  1747.             if (typeof this.product_code_origin === 'undefined') {
  1748.                 // 初期値を保持しておく
  1749.                 this.product_code_origin = \$product_code.text();
  1750.             }
  1751.             \$product_code.text(this.product_code_origin);
  1752.             // 在庫(品切れ)
  1753.             var \$cartbtn = \$form.parent().find('.add-cart').first();
  1754.             if (typeof this.product_cart_origin === 'undefined') {
  1755.                 // 初期値を保持しておく
  1756.                 this.product_cart_origin = \$cartbtn.text();
  1757.             }
  1758.             \$cartbtn.prop('disabled', false);
  1759.             \$cartbtn.text(this.product_cart_origin);
  1760.             // 通常価格
  1761.             var \$price01 = \$form.parent().find('.price01-default-Custom').first();
  1762.             if (typeof this.price01_origin === 'undefined') {
  1763.                 // 初期値を保持しておく
  1764.                 this.price01_origin = \$price01.text();
  1765.             }
  1766.             \$price01.text(this.price01_origin);
  1767.             // 販売価格
  1768.             var \$price02 = \$form.parent().find('.price02-default-Custom').first();
  1769.             if (typeof price02_origin[product_id] === 'undefined') {
  1770.                 // 初期値を保持しておく
  1771.                 price02_origin[product_id] = \$price02.text();
  1772.             }
  1773.             \$price02.text(price02_origin[product_id]);
  1774.             {# オートシップメント価格項目の表示 #}
  1775.             var \$price02_sub = \$form.parent().find('.price02-default-Custom-sub').first();
  1776.             \$price02_sub.show();
  1777.             // 通常価格(税込)
  1778.             var \$price01 = \$form.parent().find('.price01Tax-default-Custom').first();
  1779.             if (typeof this.price01Tax_origin === 'undefined') {
  1780.                 // 初期値を保持しておく
  1781.                 this.price01Tax_origin = \$price01.text();
  1782.             }
  1783.             \$price01.text(this.price01Tax_origin);
  1784.             // 販売価格(税込)
  1785.             var \$price02 = \$form.parent().find('.price02Tax-default-Custom').first();
  1786.             if (typeof price02Tax_origin[product_id] === 'undefined') {
  1787.                 // 初期値を保持しておく
  1788.                 price02Tax_origin[product_id] = \$price02.text();
  1789.             }
  1790.             \$price02.text(price02Tax_origin[product_id]);
  1791.             // 商品規格
  1792.             var \$product_class_id_dynamic = \$form.find('[id^=ProductClass]');
  1793.             \$product_class_id_dynamic.val('');
  1794.         } else {
  1795.             // 商品コード
  1796.             var \$product_code = \$('.product-code-default');
  1797.             if (classcat2 && typeof classcat2.product_code !== 'undefined') {
  1798.                 \$product_code.text(classcat2.product_code);
  1799.             } else {
  1800.                 \$product_code.text(this.product_code_origin);
  1801.             }
  1802.             // 在庫(品切れ)
  1803.             var \$cartbtn = \$form.parent().find('.add-cart').first();
  1804.             if (typeof this.product_cart_origin === 'undefined') {
  1805.                 // 初期値を保持しておく
  1806.                 this.product_cart_origin = \$cartbtn.text();
  1807.             }
  1808.             if (classcat2 && classcat2.stock_find === false) {
  1809.                 \$cartbtn.prop('disabled', true);
  1810.                 \$cartbtn.text('ただいま品切れ中です');
  1811.             } else {
  1812.                 \$cartbtn.prop('disabled', false);
  1813.                 \$cartbtn.text(this.product_cart_origin);
  1814.             }
  1815.             // 通常価格
  1816.             var \$price01 = \$form.parent().find('.price01-default-Custom').first();
  1817.             if (typeof this.price01_origin === 'undefined') {
  1818.                 // 初期値を保持しておく
  1819.                 this.price01_origin = \$price01.text();
  1820.             }
  1821.             if (classcat2 && typeof classcat2.price01 !== 'undefined' && String(classcat2.price01).length >= 1) {
  1822.                 \$price01.text('¥' + classcat2.price01);
  1823.             } else {
  1824.                 \$price01.text(this.price01_origin);
  1825.             }
  1826.             // 販売価格
  1827.             var \$price02 = \$form.parent().find('.price02-default-Custom').first();
  1828.             if (typeof price02_origin[product_id] === 'undefined') {
  1829.                 // 初期値を保持しておく
  1830.                 price02_origin[product_id] = \$price02.text();
  1831.             }
  1832.             if (classcat2 && typeof classcat2.price02 !== 'undefined' && String(classcat2.price02).length >= 1) {
  1833.                 {# \$price02.text('¥' + classcat2.price02); #}
  1834.                 \$price02.text(classcat2.price02);
  1835.                 {# オートシップメント価格項目の非表示 #}
  1836.                 var \$price02_sub = \$form.parent().find('.price02-default-Custom-sub').first();
  1837.                 \$price02_sub.hide();
  1838.             } else {
  1839.                 \$price02.text(price02_origin[product_id]);
  1840.             }
  1841.             // 通常価格(税込)
  1842.             var \$price01 = \$form.parent().find('.price01Tax-default-Custom').first();
  1843.             if (typeof this.price01Tax_origin === 'undefined') {
  1844.                 // 初期値を保持しておく
  1845.                 this.price01Tax_origin = \$price01.text();
  1846.             }
  1847.             if (classcat2 && typeof classcat2.price01 !== 'undefined' && String(classcat2.price01).length >= 1) {
  1848.                 \$price01.text('¥' + classcat2.price01_inc_tax);
  1849.             } else {
  1850.                 \$price01.text(this.price01Tax_origin);
  1851.             }
  1852.             // 販売価格(税込)
  1853.             var \$price02 = \$form.parent().find('.price02Tax-default-Custom').first();
  1854.             if (typeof price02Tax_origin[product_id] === 'undefined') {
  1855.                 // 初期値を保持しておく
  1856.                 price02Tax_origin[product_id] = \$price02.text();
  1857.             }
  1858.             if (classcat2 && typeof classcat2.price02 !== 'undefined' && String(classcat2.price02).length >= 1) {
  1859.                 {# \$price02.text('¥' + classcat2.price02_inc_tax); #}
  1860.                 \$price02.text(classcat2.price02_inc_tax);
  1861.             } else {
  1862.                 \$price02.text(price02Tax_origin[product_id]);
  1863.             }
  1864.             // ポイント
  1865.             var \$point_default = \$form.find('[id^=point_default]');
  1866.             var \$point_dynamic = \$form.find('[id^=point_dynamic]');
  1867.             if (classcat2 && typeof classcat2.point !== 'undefined' && String(classcat2.point).length >= 1) {
  1868.                 \$point_dynamic.text(classcat2.point).show();
  1869.                 \$point_default.hide();
  1870.             } else {
  1871.                 \$point_dynamic.hide();
  1872.                 \$point_default.show();
  1873.             }
  1874.             // 商品規格
  1875.             var \$product_class_id_dynamic = \$form.find('[id^=ProductClass]');
  1876.             if (classcat2 && typeof classcat2.product_class_id !== 'undefined' && String(classcat2.product_class_id).length >= 1) {
  1877.                 \$product_class_id_dynamic.val(classcat2.product_class_id);
  1878.             } else {
  1879.                 \$product_class_id_dynamic.val('');
  1880.             }
  1881.         }
  1882.     };
  1883.     /**
  1884.      * Initialize.
  1885.      */
  1886.     \$(function() {
  1887.         // 規格1選択時
  1888.         \$('select[name=classcategory_id1]')
  1889.             .change(function() {
  1890.                 var \$form = \$(this).parents('form');
  1891.                 var product_id = \$form.find('input[name=product_id]').val();
  1892.                 var \$sele1 = \$(this);
  1893.                 var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1894.                 // 規格1のみの場合
  1895.                 if (!\$sele2.length) {
  1896.                     eccube.checkStock(\$form, product_id, \$sele1.val(), null);
  1897.                     // 規格2ありの場合
  1898.                 } else {
  1899.                     eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2);
  1900.                 }
  1901.             });
  1902.         // 規格2選択時
  1903.         \$('select[name=classcategory_id2]')
  1904.             .change(function() {
  1905.                 var \$form = \$(this).parents('form');
  1906.                 var product_id = \$form.find('input[name=product_id]').val();
  1907.                 var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1908.                 var \$sele2 = \$(this);
  1909.                 eccube.checkStock(\$form, product_id, \$sele1.val(), \$sele2.val());
  1910.             });
  1911.     });
  1912. })(window);
  1913. </script>
  1914. {% endblock %}
  1915. {% block main %}
  1916.     <div class=\"ec-productRole\">
  1917.         <div class=\"ec-grid2\" style=\"margin-bottom: 50px;\">
  1918.             <div class=\"ec-grid2__cell\">
  1919.                 <div class=\"ec-sliderItemRole\">
  1920.                     <div class=\"item_visual\">
  1921.                         {% for ProductImage in Product.ProductImage %}
  1922.                             <div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\"></div>
  1923.                         {% else %}
  1924.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" /></div>
  1925.                         {% endfor %}
  1926.                     </div>
  1927.                     {# <div class=\"item_nav\">#}
  1928.                         {#{% for ProductImage in Product.ProductImage %}#}
  1929.                             {#<div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\"></div>#}
  1930.                         {#{% endfor %}#}
  1931.                     {#</div>#}
  1932.                 </div>
  1933.             </div>
  1934.             <div class=\"ec-grid2__cell\">
  1935.                 <div class=\"ec-productRole__profile\">
  1936. {# 部品の場合 #}
  1937. {% if sidebar_type == 1 %}
  1938.                     {% if Product.code_min is not empty %}
  1939.                         <p style=\"font-size: 12px;\">型番<br /></p>
  1940.                         <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1941.                     {% endif %}
  1942. {% endif %}\t
  1943. \t\t\t\t\t{# 商品説明 #}
  1944.                     <div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
  1945.                     </div>
  1946.                     {# 通常価格 #}
  1947.                     {% if Product.hasProductClass -%}
  1948.                         <div class=\"ec-productRole__priceRegular\">
  1949.                             {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  1950.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
  1951.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1952.                             {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  1953.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
  1954.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1955.                             {% endif %}
  1956.                         </div>
  1957.                     {% else %}
  1958.                         {% if Product.getPrice01Max is not null %}
  1959.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  1960.                             <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  1961.                         {% endif %}
  1962.                     {% endif %}
  1963.                     {% if customSaleTypeRental %}
  1964.                     レンタル月額
  1965.                     {% endif %}
  1966.                     
  1967.                     {# 販売価格 #}
  1968.                     <div class=\"ec-productRole__price\">
  1969.                         {% if Product.hasProductClass -%}
  1970.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1971.                                 <div class=\"ec-price\">
  1972.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1973.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1974.                                 </div>
  1975.                             {% else %}
  1976.                                 <div class=\"ec-price\">
  1977.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  1978.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1979.                                     {# オートシップメント価格項目の非表示 #}
  1980.                                     <span class=\"price02-default-Custom-sub\" style=\"font-size: 12px;\"><br />(オートシップメント契約価格{{ Product.getPrice02IncTaxMin|number_format }}円税込)</span>
  1981.                                 </div>
  1982.                             {% endif %}
  1983.                         {% else %}
  1984.                             <div class=\"ec-price\">
  1985.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  1986.                                 <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  1987.                             </div>
  1988.                         {% endif %}
  1989.                         {% if not customSaleTypeRental %}
  1990. \t\t\t\t\t\t<p style=\"font-size: 12px;\">※ 分割払いに対応しております(金利手数料無料)<br /></p>
  1991.                         {% endif %}
  1992.                     </div>
  1993. \t\t\t\t\t
  1994. {# カートリッジ/部品の場合 #}
  1995. {% if sidebar_type == 2 or sidebar_type == 1 %}
  1996. \t\t\t\t\t\t<br /><p style=\"font-size: 12px;\">対応機種<br /></p>
  1997. {% endif %}\t\t\t\t\t
  1998.                     {# タグ #}
  1999.                     <ul class=\"ec-productRole__tags\">
  2000.                         {% for Tag in Product.Tags %}
  2001.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  2002.                         {% endfor %}
  2003.                     </ul>
  2004.                     {# タグ #}
  2005. \t\t\t\t\t{#<div>#}
  2006. \t\t\t\t\t{#\t<p>対応機種</p>#}
  2007.      {#                   {% for Tag in Product.Tags %}#}
  2008.      {#                       <p class=\"btn_txt tag_{{ Tag.id }}\">{{ Tag }}</p>#}
  2009.      {#                   {% endfor %}#}
  2010. \t\t\t\t\t{#</div>#}
  2011. \t\t\t\t\t
  2012.                     {# カート #}
  2013.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  2014.                         {% if Product.stock_find %}
  2015.                             <div class=\"ec-productRole__actions\">
  2016.                                 {% if form.classcategory_id1 is defined %}
  2017.                                     <div class=\"ec-select\">
  2018.                                         {{ form_widget(form.classcategory_id1) }}
  2019.                                         {{ form_errors(form.classcategory_id1) }}
  2020.                                     </div>
  2021.                                     {% if form.classcategory_id2 is defined %}
  2022.                                         <div class=\"ec-select\">
  2023.                                             {{ form_widget(form.classcategory_id2) }}
  2024.                                             {{ form_errors(form.classcategory_id2) }}
  2025.                                         </div>
  2026.                                     {% endif %}
  2027.                                 {% endif %}
  2028.                                 <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  2029.                                 {% if customSaleTypeRental %}
  2030.                                     {{ form_widget(form.quantity, {attr: { disabled: 'disabled'}}) }}
  2031.                                 {% else %}
  2032.                                     {{ form_widget(form.quantity) }}
  2033.                                     {{ form_errors(form.quantity) }}
  2034.                                 {% endif %}
  2035.                                 </div>
  2036.                             </div>
  2037.                             {% if customSaleTypeRental %}
  2038.     \t\t\t\t\t\t<div class=\"ec-productRole__btn\">
  2039.     \t\t\t\t\t\t\t<div class=\"ec-blockBtn--action\" id=\"Product_rental\">
  2040.     \t\t\t\t\t\t\t\t{{ 'レンタルについて詳細・お申込み'|trans }}
  2041.     \t\t\t\t\t\t\t</div>
  2042.     \t\t\t\t\t\t</div>
  2043.                             <div class=\"rental-disclaimer\">
  2044.                                 <p>お申込み時は会員登録が必要です</p>
  2045.                             </div>
  2046.                             {% else %}
  2047.                             <div class=\"ec-productRole__btn\">
  2048.                                 <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  2049.                                     {{ 'カートに入れる'|trans }}
  2050.                                 </button>
  2051.                             </div>
  2052.                             {% endif %}
  2053.                         {% else %}
  2054.                             {#<div class=\"ec-productRole__btn\">#}
  2055.                             {#    <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">#}
  2056.                             {#        {{ 'ただいま品切れ中です。'|trans }}#}
  2057.                             {#    </button>#}
  2058.                             {#</div>#}
  2059.                         {% endif %}
  2060.                         {{ form_rest(form) }}
  2061.                     </form>
  2062.                     <div class=\"ec-modal\">
  2063.                         <div class=\"ec-modal-overlay\">
  2064.                             <div class=\"ec-modal-wrap\">
  2065.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  2066.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  2067.                                 <div class=\"ec-modal-box\">
  2068.                                     <div class=\"ec-role\">
  2069.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  2070.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\" style=\"color:#fff;\">{{ 'カートへ進む'|trans }}</a>
  2071.                                     </div>
  2072.                                 </div>
  2073.                             </div>
  2074.                         </div>
  2075.                     </div>
  2076.                     {% if BaseInfo.option_favorite_product %}
  2077.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  2078.                             <div class=\"ec-productRole__btn\">
  2079.                                 {% if is_favorite == false %}
  2080.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  2081.                                         {{ 'お気に入りに追加'|trans }}
  2082.                                     </button>
  2083.                                 {% else %}
  2084.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  2085.                                             disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
  2086.                                     </button>
  2087.                                 {% endif %}
  2088.                             </div>
  2089.                         </form>
  2090.                     {% endif %}
  2091. \t\t\t\t\t\t<div class=\"ec-productRole__btn\">
  2092.                             {% if customSaleTypeRental %}
  2093.                             <div class=\"ec-blockBtn--action\" id=\"Product_rental_contact\">
  2094.                             \t{{ '資料請求・お問い合わせ'|trans }}
  2095. \t\t\t\t\t\t\t</div>
  2096.                             {% else %}
  2097. \t\t\t\t\t\t\t<div class=\"ec-blockBtn--action\" id=\"Product_contact\">
  2098. \t\t\t\t\t\t\t\t{{ '資料請求・お問い合わせ'|trans }}
  2099. \t\t\t\t\t\t\t</div>
  2100.                             {% endif %}
  2101. \t\t\t\t\t\t</div>
  2102.                         
  2103.         {# 関連商品プラグインの設定情報を確認し、設定されていれば、「対応カートリッジを見る」ボタンを表示する #}
  2104.         {# ※ただし、「関連商品設定」プラグインが無効の場合はエラーが発生します。 #}
  2105.         {% for RelatedProduct in Product.RelatedProducts %}
  2106.             {% set ChildProduct = RelatedProduct.ChildProduct %}
  2107.             {% if ChildProduct.Status.id == constant(\"Eccube\\\\Entity\\\\Master\\\\ProductStatus::DISPLAY_SHOW\") %}
  2108. \t\t\t\t\t\t<div class=\"ec-productRole__btn\">
  2109. \t\t\t\t\t\t\t<div class=\"ec-blockBtn--action\" id=\"Product_cartridge\">
  2110. \t\t\t\t\t\t\t\t{{ '対応カートリッジを見る'|trans }}
  2111. \t\t\t\t\t\t\t</div>
  2112. \t\t\t\t\t\t</div>
  2113.             {% endif %}
  2114.         {% endfor %}
  2115.                 </div>
  2116.             </div>
  2117.         </div>
  2118.         {% if Product.freearea %}
  2119.              <div class=\"ec-productRole__description\">
  2120.                  {{ include(template_from_string(Product.freearea)) }}
  2121.             </div>
  2122.         {% endif %}
  2123.     </div>
  2124. {% endblock %}
  2125. ""Product/detail.twig""/home/multipure03/multipure.co.jp/public_html/dev-shop.multipure.co.jp/app/template/default/Product/detail.twig");
  2126.     }
  2127. }