var/cache/dev/twig/45/45e6d538094695e0b371f4efea9e0fa6.php line 40

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.html.twig */
  14. class __TwigTemplate_fedd0464cbcb36547445d21181caf57d extends 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.             'content' => [$this'block_content'],
  24.         ];
  25.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  26.         $this->checkSecurity();
  27.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 1
  31.         return "layouts/layout.html.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product/detail.html.twig"));
  38.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product/detail.html.twig"));
  40.         $this->parent $this->loadTemplate("layouts/layout.html.twig""product/detail.html.twig"1);
  41.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  42.         
  43.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  44.         
  45.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  46.     }
  47.     // line 3
  48.     public function block_content($context, array $blocks = [])
  49.     {
  50.         $macros $this->macros;
  51.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  52.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""content"));
  53.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  54.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""content"));
  55.         // line 4
  56.         echo "
  57.     ";
  58.         // line 5
  59.         twig_get_attribute($this->env$this->source$this->env->getFunction('pimcore_head_title')->getCallable()(), "set", [=> (((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.'5$this->source); })()), "codice", [], "any"falsefalsetrue5) . " - ") . twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'5$this->source); })()), "categories", [], "any"falsefalsetrue5), 0, [], "array"falsefalsetrue5), "name", [], "any"falsefalsetrue5)) . " | Busetto")], "method"falsefalsetrue5);
  60.         // line 6
  61.         echo "    ";
  62.         twig_get_attribute($this->env$this->source$this->env->getFunction('pimcore_head_meta')->getCallable()(), "setDescription", [=> (isset($context["metaDescription"]) || array_key_exists("metaDescription"$context) ? $context["metaDescription"] : (function () { throw new RuntimeError('Variable "metaDescription" does not exist.'6$this->source); })()), => 160], "method"falsefalsetrue6);
  63.         // line 7
  64.         echo "
  65.     ";
  66.         // line 8
  67.         $context["breadcrumbData"] = 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.'8$this->source); })()), "getCategoryBreadcrumb", [], "method"falsefalsetrue8);
  68.         // line 9
  69.         echo "    ";
  70.         $context["breadcrumb"] = "";
  71.         // line 10
  72.         echo "    ";
  73.         $context["prelocal"] = "";
  74.         // line 11
  75.         echo "    ";
  76.         $context["precat"] = "";
  77.         // line 12
  78.         echo "    ";
  79.         if ( !twig_test_empty((isset($context["breadcrumbData"]) || array_key_exists("breadcrumbData"$context) ? $context["breadcrumbData"] : (function () { throw new RuntimeError('Variable "breadcrumbData" does not exist.'12$this->source); })()))) {
  80.             // line 13
  81.             echo "        ";
  82.             if ((twig_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.'13$this->source); })()), "request", [], "any"falsefalsetrue13), "locale", [], "any"falsefalsetrue13) == "it")) {
  83.                 // line 14
  84.                 echo "            ";
  85.                 $context["prelocal"] = "/it/prodotti/";
  86.                 // line 15
  87.                 echo "            ";
  88.                 $context["precat"] = "/ Prodotti ";
  89.                 // line 16
  90.                 echo "        ";
  91.             } elseif ((twig_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.'16$this->source); })()), "request", [], "any"falsefalsetrue16), "locale", [], "any"falsefalsetrue16) == "en")) {
  92.                 // line 17
  93.                 echo "            ";
  94.                 $context["prelocal"] = "/en/products/";
  95.                 // line 18
  96.                 echo "            ";
  97.                 $context["precat"] = "/ Products ";
  98.                 // line 19
  99.                 echo "        ";
  100.             }
  101.             // line 20
  102.             echo "        ";
  103.             $context["breadcrumb"] = (((((($this->sandbox->ensureToStringAllowed((isset($context["precat"]) || array_key_exists("precat"$context) ? $context["precat"] : (function () { throw new RuntimeError('Variable "precat" does not exist.'20$this->source); })()), 20$this->source) . "/ <a href=\"") . $this->sandbox->ensureToStringAllowed((isset($context["prelocal"]) || array_key_exists("prelocal"$context) ? $context["prelocal"] : (function () { throw new RuntimeError('Variable "prelocal" does not exist.'20$this->source); })()), 20$this->source)) . $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["breadcrumbData"]) || array_key_exists("breadcrumbData"$context) ? $context["breadcrumbData"] : (function () { throw new RuntimeError('Variable "breadcrumbData" does not exist.'20$this->source); })()), "url", [], "any"falsefalsetrue20), 20$this->source)) . "\">") . $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["breadcrumbData"]) || array_key_exists("breadcrumbData"$context) ? $context["breadcrumbData"] : (function () { throw new RuntimeError('Variable "breadcrumbData" does not exist.'20$this->source); })()), "name", [], "any"falsefalsetrue20), 20$this->source)) . "</a> ");
  104.             // line 21
  105.             echo "    ";
  106.         }
  107.         // line 22
  108.         echo "
  109. <main role=\"main\" class=\"single-product mt-100 pt-0 pt-lg-100\">
  110.     <div class=\"fs-15 breadcrumbs mb-10 mx-10 mx-md-40 mx-lg-70\">
  111.         <a href=\"/\">";
  112.         // line 25
  113.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Home"), "html"nulltrue);
  114.         echo "</a> ";
  115.         echo $this->sandbox->ensureToStringAllowed((isset($context["breadcrumb"]) || array_key_exists("breadcrumb"$context) ? $context["breadcrumb"] : (function () { throw new RuntimeError('Variable "breadcrumb" does not exist.'25$this->source); })()), 25$this->source);
  116.         echo "/ ";
  117.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'25$this->source); })()), "nome", [], "any"falsefalsetrue25), 25$this->source), "html"nulltrue);
  118.         echo "
  119.     </div>
  120.   ";
  121.         // line 28
  122.         echo $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"areablock""areaBlock");
  123.         echo "
  124.   <div class=\"pb-20 mx-10 mx-md-40 mx-lg-70 \">
  125.     <div class=\"row gx-0 gx-lg-70\">
  126.       <div class=\"col-12 col-xl-7\">
  127.         <!--";
  128.         // line 34
  129.         echo "-->
  130.         <div class=\"d-flex flex-column flex-lg-row gallery-product\">
  131.           <div class=\"col-12 col-lg-2 order-2 order-lg-1 my-30 my-lg-0\">
  132.             <div class=\"swiper swiper-thumbs\">
  133.               <div class=\"swiper-wrapper\">
  134.                   ";
  135.         // line 39
  136.         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.'39$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue39))) {
  137.             // line 40
  138.             echo "                      <div class=\"swiper-slide thumb p-10\" style=\"background-image:url(";
  139.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'40$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue40), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue40), "getPath", [], "method"falsefalsetrue40), 40$this->source), "html"nulltrue);
  140.             echo ")\">
  141.                           <!-- ";
  142.             // line 41
  143.             echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'41$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue41), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue41), "getHtml", [], "method"falsefalsetrue41), 41$this->source);
  144.             echo " -->
  145.                       </div>
  146.                   ";
  147.         }
  148.         // line 44
  149.         echo "                  ";
  150.         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.'44$this->source); })()), "foto2", [], "any"falsefalsetrue44))) {
  151.             // line 45
  152.             echo "                    <div class=\"swiper-slide thumb p-5\" style=\"background-image:url(";
  153.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'45$this->source); })()), "foto2", [], "any"falsefalsetrue45), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue45), "getPath", [], "method"falsefalsetrue45), 45$this->source), "html"nulltrue);
  154.             echo ")\">
  155.                         <!-- ";
  156.             // line 46
  157.             echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'46$this->source); })()), "foto2", [], "any"falsefalsetrue46), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue46), "getHtml", [], "method"falsefalsetrue46), 46$this->source);
  158.             echo " -->
  159.                     </div>
  160.                   ";
  161.         }
  162.         // line 49
  163.         echo "                  ";
  164.         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.'49$this->source); })()), "foto3", [], "any"falsefalsetrue49))) {
  165.             // line 50
  166.             echo "                      <div class=\"swiper-slide thumb p-5\" style=\"background-image:url(";
  167.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'50$this->source); })()), "foto3", [], "any"falsefalsetrue50), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue50), "getPath", [], "method"falsefalsetrue50), 50$this->source), "html"nulltrue);
  168.             echo ")\">
  169.                           <!-- ";
  170.             // line 51
  171.             echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'51$this->source); })()), "foto3", [], "any"falsefalsetrue51), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue51), "getHtml", [], "method"falsefalsetrue51), 51$this->source);
  172.             echo " -->
  173.                       </div>
  174.                   ";
  175.         }
  176.         // line 54
  177.         echo "                  ";
  178.         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.'54$this->source); })()), "foto4", [], "any"falsefalsetrue54))) {
  179.             // line 55
  180.             echo "                      <div class=\"swiper-slide thumb p-5\" style=\"background-image:url(";
  181.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'55$this->source); })()), "foto4", [], "any"falsefalsetrue55), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue55), "getPath", [], "method"falsefalsetrue55), 55$this->source), "html"nulltrue);
  182.             echo ")\">
  183.                           <!-- ";
  184.             // line 56
  185.             echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'56$this->source); })()), "foto4", [], "any"falsefalsetrue56), "getThumbnail", [=> "product_thumbnail_gallery"], "method"falsefalsetrue56), "getHtml", [], "method"falsefalsetrue56), 56$this->source);
  186.             echo " -->
  187.                       </div>
  188.                   ";
  189.         }
  190.         // line 59
  191.         echo "              </div>
  192.             </div>
  193.           </div>
  194.           <div class=\"ms-0 ms-lg-20 col-12 col-lg-10 order-1 order-lg-2 p-5 position-relative\">
  195.               ";
  196.         // line 63
  197.         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.'63$this->source); })()), "url3d", [], "any"falsefalsetrue63)) {
  198.             // line 64
  199.             echo "                  <div class=\"banner3d-container\">
  200.                     <a href=\"";
  201.             // line 65
  202.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'65$this->source); })()), "url3d", [], "any"falsefalsetrue65), 65$this->source), "html"nulltrue);
  203.             echo "\" class=\"banner3d\" target=\"_blank\">
  204.                       <span>";
  205.             // line 66
  206.             echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("TEXT3D");
  207.             echo "</span>
  208.                     </a>
  209.                   </div>
  210.               ";
  211.         }
  212.         // line 70
  213.         echo "            <div class=\"swiper swiper-slider\">
  214.               <div class=\"swiper-wrapper\">
  215.                   ";
  216.         // line 72
  217.         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.'72$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue72))) {
  218.             // line 73
  219.             echo "                    <div class=\"swiper-slide\">
  220.                       <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"";
  221.             // line 74
  222.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'74$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue74), "thumbnail", [=> "product_main"], "method"falsefalsetrue74), 74$this->source), "html"nulltrue);
  223.             echo "\" class=\"d-block d-lg-none\">
  224.                         <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  225.                       </a>
  226.                       ";
  227.             // line 77
  228.             if (( !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'77$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue77), "getMetadata", [=> "alt"], "method"falsefalsetrue77)) &&  !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'77$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue77), "getMetadata", [=> "alt"], "method"falsefalsetrue77)))) {
  229.                 // line 78
  230.                 echo "                          ";
  231.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'78$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue78), "getThumbnail", [=> "product_main"], "method"falsefalsetrue78), "getHtml", [], "method"falsefalsetrue78), 78$this->source);
  232.                 echo "
  233.                       ";
  234.             } else {
  235.                 // line 80
  236.                 echo "                          ";
  237.                 $context["alt_image"] = (((("Busetto " $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'80$this->source); })()), "codice", [], "any"falsefalsetrue80), 80$this->source)) . " ") . $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_split_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'80$this->source); })()), "descrizione", [], "any"falsefalsetrue80), 80$this->source), ". "), 0, [], "array"falsefalsetrue80), 80$this->source)) . " 1");
  238.                 // line 81
  239.                 echo "                          ";
  240.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'81$this->source); })()), "fotoPricipale", [], "any"falsefalsetrue81), "thumbnail", [=> "product_main"], "method"falsefalsetrue81), "html", [=> ["alt" => (isset($context["alt_image"]) || array_key_exists("alt_image"$context) ? $context["alt_image"] : (function () { throw new RuntimeError('Variable "alt_image" does not exist.'81$this->source); })())]], "method"falsefalsetrue81), 81$this->source);
  241.                 echo "
  242.                       ";
  243.             }
  244.             // line 83
  245.             echo "                    </div>
  246.                   ";
  247.         }
  248.         // line 85
  249.         echo "                  ";
  250.         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.'85$this->source); })()), "foto2", [], "any"falsefalsetrue85))) {
  251.             // line 86
  252.             echo "                      <div class=\"swiper-slide\">
  253.                         <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"";
  254.             // line 87
  255.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'87$this->source); })()), "foto2", [], "any"falsefalsetrue87), "thumbnail", [=> "product_main"], "method"falsefalsetrue87), 87$this->source), "html"nulltrue);
  256.             echo "\" class=\"d-block d-lg-none\">
  257.                           <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  258.                         </a>
  259.                         ";
  260.             // line 90
  261.             if (( !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'90$this->source); })()), "foto2", [], "any"falsefalsetrue90), "getMetadata", [=> "alt"], "method"falsefalsetrue90)) &&  !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'90$this->source); })()), "foto2", [], "any"falsefalsetrue90), "getMetadata", [=> "alt"], "method"falsefalsetrue90)))) {
  262.                 // line 91
  263.                 echo "                            ";
  264.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'91$this->source); })()), "foto2", [], "any"falsefalsetrue91), "getThumbnail", [=> "product_main"], "method"falsefalsetrue91), "getHtml", [], "method"falsefalsetrue91), 91$this->source);
  265.                 echo "
  266.                         ";
  267.             } else {
  268.                 // line 93
  269.                 echo "                            ";
  270.                 $context["alt_image"] = (((("Busetto " $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'93$this->source); })()), "codice", [], "any"falsefalsetrue93), 93$this->source)) . " ") . $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_split_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'93$this->source); })()), "descrizione", [], "any"falsefalsetrue93), 93$this->source), ". "), 0, [], "array"falsefalsetrue93), 93$this->source)) . " 2");
  271.                 // line 94
  272.                 echo "                            ";
  273.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'94$this->source); })()), "foto2", [], "any"falsefalsetrue94), "thumbnail", [=> "product_main"], "method"falsefalsetrue94), "html", [=> ["alt" => (isset($context["alt_image"]) || array_key_exists("alt_image"$context) ? $context["alt_image"] : (function () { throw new RuntimeError('Variable "alt_image" does not exist.'94$this->source); })())]], "method"falsefalsetrue94), 94$this->source);
  274.                 echo "
  275.                         ";
  276.             }
  277.             // line 96
  278.             echo "                      </div>
  279.                   ";
  280.         }
  281.         // line 98
  282.         echo "                  ";
  283.         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.'98$this->source); })()), "foto3", [], "any"falsefalsetrue98))) {
  284.             // line 99
  285.             echo "                      <div class=\"swiper-slide\">
  286.                         <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"";
  287.             // line 100
  288.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'100$this->source); })()), "foto3", [], "any"falsefalsetrue100), "thumbnail", [=> "product_main"], "method"falsefalsetrue100), 100$this->source), "html"nulltrue);
  289.             echo "\" class=\"d-block d-lg-none\">
  290.                           <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  291.                         </a>
  292.                         ";
  293.             // line 103
  294.             if (( !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'103$this->source); })()), "foto3", [], "any"falsefalsetrue103), "getMetadata", [=> "alt"], "method"falsefalsetrue103)) &&  !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'103$this->source); })()), "foto3", [], "any"falsefalsetrue103), "getMetadata", [=> "alt"], "method"falsefalsetrue103)))) {
  295.                 // line 104
  296.                 echo "                            ";
  297.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'104$this->source); })()), "foto3", [], "any"falsefalsetrue104), "getThumbnail", [=> "product_main"], "method"falsefalsetrue104), "getHtml", [], "method"falsefalsetrue104), 104$this->source);
  298.                 echo "
  299.                         ";
  300.             } else {
  301.                 // line 106
  302.                 echo "                            ";
  303.                 $context["alt_image"] = (((("Busetto " $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'106$this->source); })()), "codice", [], "any"falsefalsetrue106), 106$this->source)) . " ") . $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_split_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'106$this->source); })()), "descrizione", [], "any"falsefalsetrue106), 106$this->source), ". "), 0, [], "array"falsefalsetrue106), 106$this->source)) . " 3");
  304.                 // line 107
  305.                 echo "                            ";
  306.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'107$this->source); })()), "foto3", [], "any"falsefalsetrue107), "thumbnail", [=> "product_main"], "method"falsefalsetrue107), "html", [=> ["alt" => (isset($context["alt_image"]) || array_key_exists("alt_image"$context) ? $context["alt_image"] : (function () { throw new RuntimeError('Variable "alt_image" does not exist.'107$this->source); })())]], "method"falsefalsetrue107), 107$this->source);
  307.                 echo "
  308.                         ";
  309.             }
  310.             // line 109
  311.             echo "                      </div>
  312.                   ";
  313.         }
  314.         // line 111
  315.         echo "                  ";
  316.         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.'111$this->source); })()), "foto4", [], "any"falsefalsetrue111))) {
  317.             // line 112
  318.             echo "                      <div class=\"swiper-slide\">
  319.                         <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"";
  320.             // line 113
  321.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'113$this->source); })()), "foto4", [], "any"falsefalsetrue113), "thumbnail", [=> "product_main"], "method"falsefalsetrue113), 113$this->source), "html"nulltrue);
  322.             echo "\" class=\"d-block d-lg-none\">
  323.                           <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  324.                         </a>
  325.                         ";
  326.             // line 116
  327.             if (( !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'116$this->source); })()), "foto4", [], "any"falsefalsetrue116), "getMetadata", [=> "alt"], "method"falsefalsetrue116)) &&  !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'116$this->source); })()), "foto4", [], "any"falsefalsetrue116), "getMetadata", [=> "alt"], "method"falsefalsetrue116)))) {
  328.                 // line 117
  329.                 echo "                            ";
  330.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'117$this->source); })()), "foto4", [], "any"falsefalsetrue117), "getThumbnail", [=> "product_main"], "method"falsefalsetrue117), "getHtml", [], "method"falsefalsetrue117), 117$this->source);
  331.                 echo "
  332.                         ";
  333.             } else {
  334.                 // line 119
  335.                 echo "                            ";
  336.                 $context["alt_image"] = (((("Busetto " $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'119$this->source); })()), "codice", [], "any"falsefalsetrue119), 119$this->source)) . " ") . $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_split_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'119$this->source); })()), "descrizione", [], "any"falsefalsetrue119), 119$this->source), ". "), 0, [], "array"falsefalsetrue119), 119$this->source)) . " 4");
  337.                 // line 120
  338.                 echo "                            ";
  339.                 echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'120$this->source); })()), "foto4", [], "any"falsefalsetrue120), "thumbnail", [=> "product_main"], "method"falsefalsetrue120), "html", [=> ["alt" => (isset($context["alt_image"]) || array_key_exists("alt_image"$context) ? $context["alt_image"] : (function () { throw new RuntimeError('Variable "alt_image" does not exist.'120$this->source); })())]], "method"falsefalsetrue120), 120$this->source);
  340.                 echo "
  341.                         ";
  342.             }
  343.             // line 122
  344.             echo "                      </div>
  345.                   ";
  346.         }
  347.         // line 124
  348.         echo "              </div>
  349.               <div class=\"swiper-pagination\"></div>
  350.             </div>
  351.             <!-- Modale per l'immagine -->
  352.             <div class=\"modal fade\" id=\"imageModal\" tabindex=\"-1\" aria-labelledby=\"imageModalLabel\" aria-hidden=\"true\">
  353.                 <div class=\"modal-dialog modal-lg modal-fullscreen-lg-down modal-dialog-centered\">
  354.                     <div class=\"modal-content rounded-0\">
  355.                         <div class=\"modal-header border-0\">
  356.                             <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>
  357.                         </div>
  358.                         <div class=\"modal-body\" id=\"modalImageContainer\">
  359.                           <!-- image container -->
  360.                         </div>
  361.                     </div>
  362.                 </div>
  363.             </div>
  364.           </div>
  365.         </div>
  366.         <!--";
  367.         // line 146
  368.         echo "-->
  369.       </div>
  370.       <div class=\"col-12 col-xl-5 mb-30\">
  371.         ";
  372.         // line 150
  373.         $this->loadTemplate("/inc/social-share.html.twig""product/detail.html.twig"150)->display($context);
  374.         // line 151
  375.         echo "        <h1>";
  376.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'151$this->source); })()), "nome", [], "any"falsefalsetrue151), 151$this->source), "html"nulltrue);
  377.         echo "</h1>
  378.         <p class=\"m-0\">";
  379.         // line 152
  380.         echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'152$this->source); })()), "descrizione", [], "any"falsefalsetrue152), 152$this->source);
  381.         echo "</p>
  382.         ";
  383.         // line 153
  384.         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.'153$this->source); })()), "tag", [], "any"falsefalsetrue153))) {
  385.             // line 154
  386.             echo "        <div class=\"tags d-flex gap-10 mt-10\">
  387.           ";
  388.             // line 155
  389.             $context['_parent'] = $context;
  390.             $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.'155$this->source); })()), "tag", [], "any"falsefalsetrue155));
  391.             foreach ($context['_seq'] as $context["_key"] => $context["tag"]) {
  392.                 // line 156
  393.                 echo "          <span class=\"tag border border-deep-gray px-10 rounded-4\">";
  394.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["tag"], "name", [], "any"falsefalsetrue156), 156$this->source), "html"nulltrue);
  395.                 echo "</span>
  396.           ";
  397.             }
  398.             $_parent $context['_parent'];
  399.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tag'], $context['_parent'], $context['loop']);
  400.             $context array_intersect_key($context$_parent) + $_parent;
  401.             // line 158
  402.             echo "        </div>
  403.         ";
  404.         }
  405.         // line 160
  406.         echo "        <div class=\"downloads d-flex gap-50 my-80\">
  407.           ";
  408.         // line 163
  409.         echo "        </div>
  410.         ";
  411.         // line 164
  412.         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.'164$this->source); })()), "famiglia", [], "any"falsefalsetrue164))) {
  413.             // line 165
  414.             echo "        <h4>";
  415.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Nella stessa collezione"), "html"nulltrue);
  416.             echo "</h4>
  417.         <div class=\"category-products d-flex gap-20\">
  418.           <div class=\"swiper swiper-slider pb-40\">
  419.             <div class=\"swiper-wrapper\">
  420.               ";
  421.             // line 169
  422.             $context['_parent'] = $context;
  423.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'169$this->source); })()), "famiglia", [], "any"falsefalsetrue169));
  424.             foreach ($context['_seq'] as $context["_key"] => $context["prodotto"]) {
  425.                 // line 170
  426.                 echo "              <div class=\"swiper-slide\">
  427.                 <a href=\"";
  428.                 // line 171
  429.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["prodotto"], "url", [], "any"falsefalsetrue171), 0, [], "array"falsefalsetrue171), "slug", [], "any"falsefalsetrue171), 171$this->source), "html"nulltrue);
  430.                 echo "\" class=\"product text-center fs-14 col-6 col-md-3\">
  431.                   <div class=\"image p-10\">
  432.                       ";
  433.                 // line 173
  434.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->source$context["prodotto"], "fotoPricipale", [], "any"falsefalsetrue173))) {
  435.                     // line 174
  436.                     echo "                          <!--<img src=\"/assets/images/temp/chairs/s035.jpg\" alt=\"s035\" class=\"w-100 m-auto d-block pb-20\">-->
  437.                           ";
  438.                     // line 175
  439.                     echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["prodotto"], "fotoPricipale", [], "any"falsefalsetrue175), "getThumbnail", [=> "product_thumbnail_family"], "method"falsefalsetrue175), "getHtml", [], "method"falsefalsetrue175), 175$this->source);
  440.                     echo "
  441.                       ";
  442.                 } else {
  443.                     // line 177
  444.                     echo "                          <img src=\"/busetto-placeholder.jpg\" alt=\"\" class=\"w-100 m-auto d-block pb-20\">
  445.                       ";
  446.                 }
  447.                 // line 179
  448.                 echo "                  </div>
  449.                   <span class=\"fw-bold d-inline-block w-100 text-center\">";
  450.                 // line 180
  451.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["prodotto"], "nome", [], "any"falsefalsetrue180), 180$this->source), "html"nulltrue);
  452.                 echo "</span>
  453.                 </a>
  454.               </div>
  455.               ";
  456.             }
  457.             $_parent $context['_parent'];
  458.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['prodotto'], $context['_parent'], $context['loop']);
  459.             $context array_intersect_key($context$_parent) + $_parent;
  460.             // line 184
  461.             echo "            </div>
  462.             <div class=\"swiper-pagination\"></div>
  463.           </div>
  464.         </div>
  465.         ";
  466.         }
  467.         // line 189
  468.         echo "      </div>
  469.     </div>
  470.     <ul class=\"nav nav-underline mb-3 justify-content-between justify-content-lg-start gap-lg-80 border-bottom border-light-gray\" role=\"tablist\" id=\"specs-tabs\" style=\"position:relative; z-index: 1;\">
  471.       <li class=\"nav-item\" role=\"presentation\">
  472.         <a class=\"h3 nav-link m-0 p-0 active\" id=\"size-lnk\" data-mdb-toggle=\"tab\" href=\"#size-tab\" role=\"tab\"
  473.           aria-controls=\"size-tab\" aria-selected=\"true\">";
  474.         // line 194
  475.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Dimensioni"), "html"nulltrue);
  476.         echo "</a>
  477.       </li>
  478.         ";
  479.         // line 196
  480.         if ( !twig_test_empty((isset($context["rivestimenti"]) || array_key_exists("rivestimenti"$context) ? $context["rivestimenti"] : (function () { throw new RuntimeError('Variable "rivestimenti" does not exist.'196$this->source); })()))) {
  481.             // line 197
  482.             echo "      <li class=\"nav-item\" role=\"presentation\">
  483.         <a class=\"h3 nav-link m-0 p-0\" id=\"coatings-lnk\" data-mdb-toggle=\"tab\" href=\"#coatings-tab\" role=\"tab\"
  484.           aria-controls=\"coatings-tab\" aria-selected=\"false\" data-catids=\"";
  485.             // line 199
  486.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["rivestimenti"]) || array_key_exists("rivestimenti"$context) ? $context["rivestimenti"] : (function () { throw new RuntimeError('Variable "rivestimenti" does not exist.'199$this->source); })()), 199$this->source), "html"nulltrue);
  487.             echo "\" data-loc=\"";
  488.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_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.'199$this->source); })()), "request", [], "any"falsefalsetrue199), "locale", [], "any"falsefalsetrue199), 199$this->source), "html"nulltrue);
  489.             echo "\">";
  490.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Rivestimenti"), "html"nulltrue);
  491.             echo "</a>
  492.       </li>
  493.         ";
  494.         }
  495.         // line 202
  496.         echo "        ";
  497.         if ( !twig_test_empty((isset($context["finiture"]) || array_key_exists("finiture"$context) ? $context["finiture"] : (function () { throw new RuntimeError('Variable "finiture" does not exist.'202$this->source); })()))) {
  498.             // line 203
  499.             echo "      <li class=\"nav-item\" role=\"presentation\">
  500.         <a class=\"h3 nav-link m-0 p-0\" id=\"finishes-lnk\" data-mdb-toggle=\"tab\" href=\"#finishes-tab\" role=\"tab\"
  501.           aria-controls=\"finishes-tab\" aria-selected=\"false\" data-catids=\"";
  502.             // line 205
  503.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["finiture"]) || array_key_exists("finiture"$context) ? $context["finiture"] : (function () { throw new RuntimeError('Variable "finiture" does not exist.'205$this->source); })()), 205$this->source), "html"nulltrue);
  504.             echo "\" data-loc=\"";
  505.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_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.'205$this->source); })()), "request", [], "any"falsefalsetrue205), "locale", [], "any"falsefalsetrue205), 205$this->source), "html"nulltrue);
  506.             echo "\">";
  507.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Finiture"), "html"nulltrue);
  508.             echo "</a>
  509.       </li>
  510.         ";
  511.         }
  512.         // line 208
  513.         echo "    </ul>
  514.     <!-- Tabs navs -->
  515.     <!-- Tabs content -->
  516.     <div class=\"tab-content pb-40\">
  517.       <div class=\"tab-pane fade show active\" id=\"size-tab\" role=\"tabpanel\" aria-labelledby=\"size-lnk\">
  518.         ";
  519.         // line 214
  520.         $this->loadTemplate("product/dimensioni.html.twig""product/detail.html.twig"214)->display($context);
  521.         // line 215
  522.         echo "      </div>
  523.       <div class=\"tab-pane fade\" id=\"coatings-tab\" role=\"tabpanel\" aria-labelledby=\"coatings-lnk\">
  524.           ";
  525.         // line 217
  526.         $this->loadTemplate("product/rivestimenti.html.twig""product/detail.html.twig"217)->display($context);
  527.         // line 218
  528.         echo "      </div>
  529.       <div class=\"tab-pane fade\" id=\"finishes-tab\" role=\"tabpanel\" aria-labelledby=\"finishes-lnk\">
  530.           ";
  531.         // line 220
  532.         $this->loadTemplate("product/finiture.html.twig""product/detail.html.twig"220)->display($context);
  533.         // line 221
  534.         echo "      </div>
  535.     </div>
  536.     <!-- Tabs content -->
  537.     ";
  538.         // line 225
  539.         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.'225$this->source); })()), "correlati", [], "any"falsefalsetrue225))) {
  540.             // line 226
  541.             echo "    <div class=\"row pt-40 pb-80 border-top related-products\">
  542.       <h3 class=\"text-center\">";
  543.             // line 227
  544.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Potrebbero interessarti"), "html"nulltrue);
  545.             echo "</h3>
  546.       <div class=\"related-products d-flex gap-20\">
  547.         <div class=\"swiper swiper-slider pb-40\">
  548.           <div class=\"swiper-wrapper\">
  549.             ";
  550.             // line 231
  551.             $context['_parent'] = $context;
  552.             $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.'231$this->source); })()), "correlati", [], "any"falsefalsetrue231));
  553.             foreach ($context['_seq'] as $context["_key"] => $context["prodotto"]) {
  554.                 // line 232
  555.                 echo "            <div class=\"swiper-slide\">
  556.               <a href=\"";
  557.                 // line 233
  558.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["prodotto"], "url", [], "any"falsefalsetrue233), 0, [], "array"falsefalsetrue233), "slug", [], "any"falsefalsetrue233), 233$this->source), "html"nulltrue);
  559.                 echo "\" class=\"product text-center fs-14 col-6 col-md-3 col-6 col-md-3\">
  560.                 <div class=\"image p-10 p-md-30\">
  561.                     ";
  562.                 // line 235
  563.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->source$context["prodotto"], "fotoPricipale", [], "any"falsefalsetrue235))) {
  564.                     // line 236
  565.                     echo "                        <!--<img src=\"/assets/images/temp/chairs/s035.jpg\" alt=\"s035\" class=\"w-100 m-auto d-block pb-20\">-->
  566.                         ";
  567.                     // line 237
  568.                     echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["prodotto"], "fotoPricipale", [], "any"falsefalsetrue237), "getThumbnail", [=> "product_related"], "method"falsefalsetrue237), "getHtml", [], "method"falsefalsetrue237), 237$this->source);
  569.                     echo "
  570.                     ";
  571.                 } else {
  572.                     // line 239
  573.                     echo "                    <picture>
  574.                         <img src=\"/busetto-placeholder.jpg\" alt=\"\" class=\"w-100 m-auto d-block pb-20\">
  575.                         </picture>
  576.                     ";
  577.                 }
  578.                 // line 243
  579.                 echo "                </div>
  580.                 <span class=\"fw-bold d-inline-block w-100 text-center\">";
  581.                 // line 244
  582.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["prodotto"], "nome", [], "any"falsefalsetrue244), 244$this->source), "html"nulltrue);
  583.                 echo "</span>
  584.               </a>
  585.             </div>
  586.             ";
  587.             }
  588.             $_parent $context['_parent'];
  589.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['prodotto'], $context['_parent'], $context['loop']);
  590.             $context array_intersect_key($context$_parent) + $_parent;
  591.             // line 248
  592.             echo "          </div>          
  593.             <div class=\"swiper-pagination\"></div>
  594.         </div>
  595.       </div>
  596.     </div>
  597.     ";
  598.         }
  599.         // line 254
  600.         echo "
  601.   </div>
  602. </main>
  603. <style>
  604. .zoom-container {
  605.     position: relative;
  606.     overflow: auto; /* Abilita lo scrolling */
  607.     width: 100%;
  608.     height: 100%;
  609.     touch-action: auto; /* Permette il pinch-to-zoom nativo */
  610. }
  611. .zoom-image {
  612.     display: flex;
  613.     justify-content:center;
  614.     align-items:center;
  615.     width: 100%;
  616.     height: 100%;
  617.     max-width: none;
  618.     max-height: none;
  619.     object-fit: contain;
  620.     cursor: grab;
  621.     transform: scale(1); 
  622.     transition: transform 0.2s ease;
  623. }
  624. </style>
  625. ";
  626.         // line 284
  627.         twig_get_attribute($this->env$this->source$this->env->getFunction('pimcore_head_script')->getCallable()(), "appendFile", [=> (isset($context["swiper_js"]) || array_key_exists("swiper_js"$context) ? $context["swiper_js"] : (function () { throw new RuntimeError('Variable "swiper_js" does not exist.'284$this->source); })())], "method"falsefalsetrue284);
  628.         echo "\t
  629. <script>
  630.   document.addEventListener(\"DOMContentLoaded\", (event) => {
  631.   var thumbsSwiper = new Swiper('.gallery-product .swiper-thumbs', {
  632.     slidesPerView: '4',
  633.     direction: 'horizontal',
  634.     spaceBetween: 10,    
  635.     //preventClicks: false,
  636.     //preventClicksPropagation: false,
  637.     //simulateTouch: false,
  638.     pagination: {
  639.       el: '.swiper-pagination',
  640.       type: 'bullets',
  641.       clickable: true,
  642.     },
  643.     breakpoints: {
  644.       992: {
  645.         slidesPerView: 'auto',
  646.         direction: 'vertical',
  647.         spaceBetween: 20,
  648.       }
  649.     }
  650.   });
  651.   var slider = new Swiper('.gallery-product .swiper-slider', {
  652.     slidesPerView: 1,
  653.     spaceBetween: 0,
  654.     //preventClicks: false,
  655.     //preventClicksPropagation: false,
  656.     //simulateTouch: false,
  657.     thumbs: {
  658.       swiper: thumbsSwiper,
  659.     }
  660.   });
  661.   var categorySwiper = new Swiper('.category-products .swiper-slider', {
  662.     slidesPerView: 2,
  663.     spaceBetween: 20,
  664.     //preventClicks: false,
  665.     //preventClicksPropagation: false,
  666.     //simulateTouch: false,
  667.     pagination: {
  668.       el: '.swiper-pagination',
  669.       type: 'bullets',
  670.       clickable: true,
  671.     },
  672.     breakpoints: {
  673.       992: {
  674.         slidesPerView: 4,
  675.       }
  676.     }
  677.   });
  678.   var relatedSwiper = new Swiper('.related-products .swiper-slider', {
  679.     slidesPerView: 2,
  680.     spaceBetween: 20,
  681.     //preventClicks: false,
  682.     //preventClicksPropagation: false,
  683.     //simulateTouch: false,
  684.     pagination: {
  685.       el: '.swiper-pagination',
  686.       type: 'bullets',
  687.       clickable: true,
  688.     },
  689.     breakpoints: {
  690.       992: {
  691.         slidesPerView: 4,
  692.       }
  693.     }
  694.   });
  695.   const triggerTabList = document.querySelectorAll('#specs-tabs a');
  696.   triggerTabList.forEach(triggerEl => {
  697.     const tabTrigger = new bootstrap.Tab(triggerEl);
  698.     triggerEl.addEventListener('click', event => {
  699.       event.preventDefault();
  700.       tabTrigger.show();
  701.     });
  702.   });
  703.   // modal - image zoom
  704.   const modalImageContainer = document.getElementById('modalImageContainer');
  705.   document.querySelectorAll('.swiper-slide a[data-bs-toggle=\"modal\"]').forEach(function (link) {
  706.     link.addEventListener('click', function () {
  707.       // Ottieni l'immagine dal data-attribute
  708.       const image = this.getAttribute('data-image');
  709.       const imageHtml = `<img src=\"\${image}\" alt=\"zoom immagine\" class=\"zoom-image\" />`;
  710.       if (imageHtml) {
  711.           // Aggiorna il contenuto del modale
  712.           modalImageContainer.innerHTML = '<div class=\"zoom-container\">'+imageHtml+'</div>';
  713.       }
  714.     });
  715.   });
  716. });
  717. </script>
  718. ";
  719.         
  720.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  721.         
  722.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  723.     }
  724.     public function getTemplateName()
  725.     {
  726.         return "product/detail.html.twig";
  727.     }
  728.     public function isTraitable()
  729.     {
  730.         return false;
  731.     }
  732.     public function getDebugInfo()
  733.     {
  734.         return array (  656 => 284,  624 => 254,  616 => 248,  606 => 244,  603 => 243,  597 => 239,  592 => 237,  589 => 236,  587 => 235,  582 => 233,  579 => 232,  575 => 231,  568 => 227,  565 => 226,  563 => 225,  557 => 221,  555 => 220,  551 => 218,  549 => 217,  545 => 215,  543 => 214,  535 => 208,  525 => 205,  521 => 203,  518 => 202,  508 => 199,  504 => 197,  502 => 196,  497 => 194,  490 => 189,  483 => 184,  473 => 180,  470 => 179,  466 => 177,  461 => 175,  458 => 174,  456 => 173,  451 => 171,  448 => 170,  444 => 169,  436 => 165,  434 => 164,  431 => 163,  428 => 160,  424 => 158,  415 => 156,  411 => 155,  408 => 154,  406 => 153,  402 => 152,  397 => 151,  395 => 150,  389 => 146,  365 => 124,  361 => 122,  355 => 120,  352 => 119,  346 => 117,  344 => 116,  338 => 113,  335 => 112,  332 => 111,  328 => 109,  322 => 107,  319 => 106,  313 => 104,  311 => 103,  305 => 100,  302 => 99,  299 => 98,  295 => 96,  289 => 94,  286 => 93,  280 => 91,  278 => 90,  272 => 87,  269 => 86,  266 => 85,  262 => 83,  256 => 81,  253 => 80,  247 => 78,  245 => 77,  239 => 74,  236 => 73,  234 => 72,  230 => 70,  223 => 66,  219 => 65,  216 => 64,  214 => 63,  208 => 59,  202 => 56,  197 => 55,  194 => 54,  188 => 51,  183 => 50,  180 => 49,  174 => 46,  169 => 45,  166 => 44,  160 => 41,  155 => 40,  153 => 39,  146 => 34,  137 => 28,  127 => 25,  122 => 22,  119 => 21,  116 => 20,  113 => 19,  110 => 18,  107 => 17,  104 => 16,  101 => 15,  98 => 14,  95 => 13,  92 => 12,  89 => 11,  86 => 10,  83 => 9,  81 => 8,  78 => 7,  75 => 6,  73 => 5,  70 => 4,  60 => 3,  37 => 1,);
  735.     }
  736.     public function getSourceContext()
  737.     {
  738.         return new Source("{% extends 'layouts/layout.html.twig' %}
  739. {% block content %}
  740.     {% do pimcore_head_title().set(product.codice ~ \" - \" ~ product.categories[0].name ~ \" | Busetto\") %}
  741.     {% do pimcore_head_meta().setDescription(metaDescription, 160) %}
  742.     {% set breadcrumbData = product.getCategoryBreadcrumb() %}
  743.     {% set breadcrumb = \"\" %}
  744.     {% set prelocal = \"\" %}
  745.     {% set precat = \"\" %}
  746.     {% if breadcrumbData is not empty %}
  747.         {% if app.request.locale == 'it' %}
  748.             {% set prelocal = \"/it/prodotti/\" %}
  749.             {% set precat = \"/ Prodotti \" %}
  750.         {% elseif app.request.locale == 'en' %}
  751.             {% set prelocal = \"/en/products/\" %}
  752.             {% set precat = \"/ Products \" %}
  753.         {% endif %}
  754.         {% set breadcrumb = precat ~ '/ <a href=\"' ~ prelocal ~ breadcrumbData.url ~ '\">' ~ breadcrumbData.name ~ '</a> ' %}
  755.     {% endif %}
  756. <main role=\"main\" class=\"single-product mt-100 pt-0 pt-lg-100\">
  757.     <div class=\"fs-15 breadcrumbs mb-10 mx-10 mx-md-40 mx-lg-70\">
  758.         <a href=\"/\">{{ 'Home'|trans }}</a> {{ breadcrumb|raw }}/ {{ product.nome }}
  759.     </div>
  760.   {{ pimcore_areablock(\"areaBlock\") }}
  761.   <div class=\"pb-20 mx-10 mx-md-40 mx-lg-70 \">
  762.     <div class=\"row gx-0 gx-lg-70\">
  763.       <div class=\"col-12 col-xl-7\">
  764.         <!--{# start swiper product details #}-->
  765.         <div class=\"d-flex flex-column flex-lg-row gallery-product\">
  766.           <div class=\"col-12 col-lg-2 order-2 order-lg-1 my-30 my-lg-0\">
  767.             <div class=\"swiper swiper-thumbs\">
  768.               <div class=\"swiper-wrapper\">
  769.                   {% if product.fotoPricipale is not empty %}
  770.                       <div class=\"swiper-slide thumb p-10\" style=\"background-image:url({{ product.fotoPricipale.getThumbnail(\"product_thumbnail_gallery\").getPath() }})\">
  771.                           <!-- {{ product.fotoPricipale.getThumbnail(\"product_thumbnail_gallery\").getHtml()|raw }} -->
  772.                       </div>
  773.                   {% endif %}
  774.                   {% if product.foto2 is not empty %}
  775.                     <div class=\"swiper-slide thumb p-5\" style=\"background-image:url({{ product.foto2.getThumbnail(\"product_thumbnail_gallery\").getPath() }})\">
  776.                         <!-- {{ product.foto2.getThumbnail(\"product_thumbnail_gallery\").getHtml()|raw }} -->
  777.                     </div>
  778.                   {% endif %}
  779.                   {% if product.foto3 is not empty %}
  780.                       <div class=\"swiper-slide thumb p-5\" style=\"background-image:url({{ product.foto3.getThumbnail(\"product_thumbnail_gallery\").getPath() }})\">
  781.                           <!-- {{ product.foto3.getThumbnail(\"product_thumbnail_gallery\").getHtml()|raw }} -->
  782.                       </div>
  783.                   {% endif %}
  784.                   {% if product.foto4 is not empty %}
  785.                       <div class=\"swiper-slide thumb p-5\" style=\"background-image:url({{ product.foto4.getThumbnail(\"product_thumbnail_gallery\").getPath() }})\">
  786.                           <!-- {{ product.foto4.getThumbnail(\"product_thumbnail_gallery\").getHtml()|raw }} -->
  787.                       </div>
  788.                   {% endif %}
  789.               </div>
  790.             </div>
  791.           </div>
  792.           <div class=\"ms-0 ms-lg-20 col-12 col-lg-10 order-1 order-lg-2 p-5 position-relative\">
  793.               {% if product.url3d %}
  794.                   <div class=\"banner3d-container\">
  795.                     <a href=\"{{ product.url3d }}\" class=\"banner3d\" target=\"_blank\">
  796.                       <span>{{ 'TEXT3D'|trans|raw }}</span>
  797.                     </a>
  798.                   </div>
  799.               {% endif %}
  800.             <div class=\"swiper swiper-slider\">
  801.               <div class=\"swiper-wrapper\">
  802.                   {% if product.fotoPricipale is not empty %}
  803.                     <div class=\"swiper-slide\">
  804.                       <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"{{ product.fotoPricipale.thumbnail('product_main') }}\" class=\"d-block d-lg-none\">
  805.                         <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  806.                       </a>
  807.                       {% if product.fotoPricipale.getMetadata('alt') is not null and product.fotoPricipale.getMetadata('alt') is not empty %}
  808.                           {{ product.fotoPricipale.getThumbnail(\"product_main\").getHtml()|raw }}
  809.                       {% else %}
  810.                           {% set alt_image = \"Busetto \" ~ product.codice ~ \" \" ~ product.descrizione|split(\". \")[0] ~ \" 1\"  %}
  811.                           {{ product.fotoPricipale.thumbnail(\"product_main\").html({'alt': alt_image})|raw }}
  812.                       {% endif %}
  813.                     </div>
  814.                   {% endif %}
  815.                   {% if product.foto2 is not empty %}
  816.                       <div class=\"swiper-slide\">
  817.                         <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"{{ product.foto2.thumbnail('product_main') }}\" class=\"d-block d-lg-none\">
  818.                           <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  819.                         </a>
  820.                         {% if product.foto2.getMetadata('alt') is not null and product.foto2.getMetadata('alt') is not empty %}
  821.                             {{ product.foto2.getThumbnail(\"product_main\").getHtml()|raw }}
  822.                         {% else %}
  823.                             {% set alt_image = \"Busetto \" ~ product.codice ~ \" \" ~ product.descrizione|split(\". \")[0] ~ \" 2\"  %}
  824.                             {{ product.foto2.thumbnail(\"product_main\").html({'alt': alt_image})|raw }}
  825.                         {% endif %}
  826.                       </div>
  827.                   {% endif %}
  828.                   {% if product.foto3 is not empty %}
  829.                       <div class=\"swiper-slide\">
  830.                         <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"{{ product.foto3.thumbnail('product_main') }}\" class=\"d-block d-lg-none\">
  831.                           <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  832.                         </a>
  833.                         {% if product.foto3.getMetadata('alt') is not null and product.foto3.getMetadata('alt') is not empty %}
  834.                             {{ product.foto3.getThumbnail(\"product_main\").getHtml()|raw }}
  835.                         {% else %}
  836.                             {% set alt_image = \"Busetto \" ~ product.codice ~ \" \" ~ product.descrizione|split(\". \")[0] ~ \" 3\"  %}
  837.                             {{ product.foto3.thumbnail(\"product_main\").html({'alt': alt_image})|raw }}
  838.                         {% endif %}
  839.                       </div>
  840.                   {% endif %}
  841.                   {% if product.foto4 is not empty %}
  842.                       <div class=\"swiper-slide\">
  843.                         <a href=\"#\" data-bs-toggle=\"modal\" data-bs-target=\"#imageModal\" data-image=\"{{ product.foto4.thumbnail('product_main') }}\" class=\"d-block d-lg-none\">
  844.                           <div class=\" position-absolute top-0 end-0\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" fill=\"currentColor\" class=\"bi bi-plus-circle\" viewBox=\"0 0 17 17\"><path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/><path d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4\"/></svg></div>
  845.                         </a>
  846.                         {% if product.foto4.getMetadata('alt') is not null and product.foto4.getMetadata('alt') is not empty %}
  847.                             {{ product.foto4.getThumbnail(\"product_main\").getHtml()|raw }}
  848.                         {% else %}
  849.                             {% set alt_image = \"Busetto \" ~ product.codice ~ \" \" ~ product.descrizione|split(\". \")[0] ~ \" 4\"  %}
  850.                             {{ product.foto4.thumbnail(\"product_main\").html({'alt': alt_image})|raw }}
  851.                         {% endif %}
  852.                       </div>
  853.                   {% endif %}
  854.               </div>
  855.               <div class=\"swiper-pagination\"></div>
  856.             </div>
  857.             <!-- Modale per l'immagine -->
  858.             <div class=\"modal fade\" id=\"imageModal\" tabindex=\"-1\" aria-labelledby=\"imageModalLabel\" aria-hidden=\"true\">
  859.                 <div class=\"modal-dialog modal-lg modal-fullscreen-lg-down modal-dialog-centered\">
  860.                     <div class=\"modal-content rounded-0\">
  861.                         <div class=\"modal-header border-0\">
  862.                             <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>
  863.                         </div>
  864.                         <div class=\"modal-body\" id=\"modalImageContainer\">
  865.                           <!-- image container -->
  866.                         </div>
  867.                     </div>
  868.                 </div>
  869.             </div>
  870.           </div>
  871.         </div>
  872.         <!--{# end swiper product details #}-->
  873.       </div>
  874.       <div class=\"col-12 col-xl-5 mb-30\">
  875.         {% include '/inc/social-share.html.twig' %}
  876.         <h1>{{ product.nome }}</h1>
  877.         <p class=\"m-0\">{{ product.descrizione|raw }}</p>
  878.         {% if product.tag is not empty %}
  879.         <div class=\"tags d-flex gap-10 mt-10\">
  880.           {% for tag in product.tag %}
  881.           <span class=\"tag border border-deep-gray px-10 rounded-4\">{{ tag.name }}</span>
  882.           {% endfor %}
  883.         </div>
  884.         {% endif %}
  885.         <div class=\"downloads d-flex gap-50 my-80\">
  886.           {# <a href=\"#\" class=\"download\"><i class=\"fa fa-download me-10\"></i>Scarica scheda tecnica</a>
  887.           <a href=\"#\" class=\"download\"><i class=\"fa fa-download me-10\"></i>Scarica catalogo materiali</a> #}
  888.         </div>
  889.         {% if product.famiglia is not empty %}
  890.         <h4>{{ 'Nella stessa collezione'|trans }}</h4>
  891.         <div class=\"category-products d-flex gap-20\">
  892.           <div class=\"swiper swiper-slider pb-40\">
  893.             <div class=\"swiper-wrapper\">
  894.               {% for prodotto in product.famiglia %}
  895.               <div class=\"swiper-slide\">
  896.                 <a href=\"{{ prodotto.url[0].slug }}\" class=\"product text-center fs-14 col-6 col-md-3\">
  897.                   <div class=\"image p-10\">
  898.                       {% if prodotto.fotoPricipale is not empty %}
  899.                           <!--<img src=\"/assets/images/temp/chairs/s035.jpg\" alt=\"s035\" class=\"w-100 m-auto d-block pb-20\">-->
  900.                           {{ prodotto.fotoPricipale.getThumbnail(\"product_thumbnail_family\").getHtml()|raw }}
  901.                       {% else %}
  902.                           <img src=\"/busetto-placeholder.jpg\" alt=\"\" class=\"w-100 m-auto d-block pb-20\">
  903.                       {% endif %}
  904.                   </div>
  905.                   <span class=\"fw-bold d-inline-block w-100 text-center\">{{ prodotto.nome }}</span>
  906.                 </a>
  907.               </div>
  908.               {% endfor %}
  909.             </div>
  910.             <div class=\"swiper-pagination\"></div>
  911.           </div>
  912.         </div>
  913.         {% endif %}
  914.       </div>
  915.     </div>
  916.     <ul class=\"nav nav-underline mb-3 justify-content-between justify-content-lg-start gap-lg-80 border-bottom border-light-gray\" role=\"tablist\" id=\"specs-tabs\" style=\"position:relative; z-index: 1;\">
  917.       <li class=\"nav-item\" role=\"presentation\">
  918.         <a class=\"h3 nav-link m-0 p-0 active\" id=\"size-lnk\" data-mdb-toggle=\"tab\" href=\"#size-tab\" role=\"tab\"
  919.           aria-controls=\"size-tab\" aria-selected=\"true\">{{ 'Dimensioni'|trans }}</a>
  920.       </li>
  921.         {% if rivestimenti is not empty %}
  922.       <li class=\"nav-item\" role=\"presentation\">
  923.         <a class=\"h3 nav-link m-0 p-0\" id=\"coatings-lnk\" data-mdb-toggle=\"tab\" href=\"#coatings-tab\" role=\"tab\"
  924.           aria-controls=\"coatings-tab\" aria-selected=\"false\" data-catids=\"{{ rivestimenti }}\" data-loc=\"{{ app.request.locale }}\">{{ 'Rivestimenti'|trans }}</a>
  925.       </li>
  926.         {% endif %}
  927.         {% if finiture is not empty %}
  928.       <li class=\"nav-item\" role=\"presentation\">
  929.         <a class=\"h3 nav-link m-0 p-0\" id=\"finishes-lnk\" data-mdb-toggle=\"tab\" href=\"#finishes-tab\" role=\"tab\"
  930.           aria-controls=\"finishes-tab\" aria-selected=\"false\" data-catids=\"{{ finiture }}\" data-loc=\"{{ app.request.locale }}\">{{ 'Finiture'|trans }}</a>
  931.       </li>
  932.         {% endif %}
  933.     </ul>
  934.     <!-- Tabs navs -->
  935.     <!-- Tabs content -->
  936.     <div class=\"tab-content pb-40\">
  937.       <div class=\"tab-pane fade show active\" id=\"size-tab\" role=\"tabpanel\" aria-labelledby=\"size-lnk\">
  938.         {% include 'product/dimensioni.html.twig' %}
  939.       </div>
  940.       <div class=\"tab-pane fade\" id=\"coatings-tab\" role=\"tabpanel\" aria-labelledby=\"coatings-lnk\">
  941.           {% include 'product/rivestimenti.html.twig' %}
  942.       </div>
  943.       <div class=\"tab-pane fade\" id=\"finishes-tab\" role=\"tabpanel\" aria-labelledby=\"finishes-lnk\">
  944.           {% include 'product/finiture.html.twig' %}
  945.       </div>
  946.     </div>
  947.     <!-- Tabs content -->
  948.     {% if product.correlati is not empty %}
  949.     <div class=\"row pt-40 pb-80 border-top related-products\">
  950.       <h3 class=\"text-center\">{{ 'Potrebbero interessarti'|trans }}</h3>
  951.       <div class=\"related-products d-flex gap-20\">
  952.         <div class=\"swiper swiper-slider pb-40\">
  953.           <div class=\"swiper-wrapper\">
  954.             {% for prodotto in product.correlati %}
  955.             <div class=\"swiper-slide\">
  956.               <a href=\"{{ prodotto.url[0].slug }}\" class=\"product text-center fs-14 col-6 col-md-3 col-6 col-md-3\">
  957.                 <div class=\"image p-10 p-md-30\">
  958.                     {% if prodotto.fotoPricipale is not empty %}
  959.                         <!--<img src=\"/assets/images/temp/chairs/s035.jpg\" alt=\"s035\" class=\"w-100 m-auto d-block pb-20\">-->
  960.                         {{ prodotto.fotoPricipale.getThumbnail(\"product_related\").getHtml()|raw }}
  961.                     {% else %}
  962.                     <picture>
  963.                         <img src=\"/busetto-placeholder.jpg\" alt=\"\" class=\"w-100 m-auto d-block pb-20\">
  964.                         </picture>
  965.                     {% endif %}
  966.                 </div>
  967.                 <span class=\"fw-bold d-inline-block w-100 text-center\">{{ prodotto.nome }}</span>
  968.               </a>
  969.             </div>
  970.             {% endfor %}
  971.           </div>          
  972.             <div class=\"swiper-pagination\"></div>
  973.         </div>
  974.       </div>
  975.     </div>
  976.     {% endif %}
  977.   </div>
  978. </main>
  979. <style>
  980. .zoom-container {
  981.     position: relative;
  982.     overflow: auto; /* Abilita lo scrolling */
  983.     width: 100%;
  984.     height: 100%;
  985.     touch-action: auto; /* Permette il pinch-to-zoom nativo */
  986. }
  987. .zoom-image {
  988.     display: flex;
  989.     justify-content:center;
  990.     align-items:center;
  991.     width: 100%;
  992.     height: 100%;
  993.     max-width: none;
  994.     max-height: none;
  995.     object-fit: contain;
  996.     cursor: grab;
  997.     transform: scale(1); 
  998.     transition: transform 0.2s ease;
  999. }
  1000. </style>
  1001. {% do pimcore_head_script().appendFile(swiper_js) %}\t
  1002. <script>
  1003.   document.addEventListener(\"DOMContentLoaded\", (event) => {
  1004.   var thumbsSwiper = new Swiper('.gallery-product .swiper-thumbs', {
  1005.     slidesPerView: '4',
  1006.     direction: 'horizontal',
  1007.     spaceBetween: 10,    
  1008.     //preventClicks: false,
  1009.     //preventClicksPropagation: false,
  1010.     //simulateTouch: false,
  1011.     pagination: {
  1012.       el: '.swiper-pagination',
  1013.       type: 'bullets',
  1014.       clickable: true,
  1015.     },
  1016.     breakpoints: {
  1017.       992: {
  1018.         slidesPerView: 'auto',
  1019.         direction: 'vertical',
  1020.         spaceBetween: 20,
  1021.       }
  1022.     }
  1023.   });
  1024.   var slider = new Swiper('.gallery-product .swiper-slider', {
  1025.     slidesPerView: 1,
  1026.     spaceBetween: 0,
  1027.     //preventClicks: false,
  1028.     //preventClicksPropagation: false,
  1029.     //simulateTouch: false,
  1030.     thumbs: {
  1031.       swiper: thumbsSwiper,
  1032.     }
  1033.   });
  1034.   var categorySwiper = new Swiper('.category-products .swiper-slider', {
  1035.     slidesPerView: 2,
  1036.     spaceBetween: 20,
  1037.     //preventClicks: false,
  1038.     //preventClicksPropagation: false,
  1039.     //simulateTouch: false,
  1040.     pagination: {
  1041.       el: '.swiper-pagination',
  1042.       type: 'bullets',
  1043.       clickable: true,
  1044.     },
  1045.     breakpoints: {
  1046.       992: {
  1047.         slidesPerView: 4,
  1048.       }
  1049.     }
  1050.   });
  1051.   var relatedSwiper = new Swiper('.related-products .swiper-slider', {
  1052.     slidesPerView: 2,
  1053.     spaceBetween: 20,
  1054.     //preventClicks: false,
  1055.     //preventClicksPropagation: false,
  1056.     //simulateTouch: false,
  1057.     pagination: {
  1058.       el: '.swiper-pagination',
  1059.       type: 'bullets',
  1060.       clickable: true,
  1061.     },
  1062.     breakpoints: {
  1063.       992: {
  1064.         slidesPerView: 4,
  1065.       }
  1066.     }
  1067.   });
  1068.   const triggerTabList = document.querySelectorAll('#specs-tabs a');
  1069.   triggerTabList.forEach(triggerEl => {
  1070.     const tabTrigger = new bootstrap.Tab(triggerEl);
  1071.     triggerEl.addEventListener('click', event => {
  1072.       event.preventDefault();
  1073.       tabTrigger.show();
  1074.     });
  1075.   });
  1076.   // modal - image zoom
  1077.   const modalImageContainer = document.getElementById('modalImageContainer');
  1078.   document.querySelectorAll('.swiper-slide a[data-bs-toggle=\"modal\"]').forEach(function (link) {
  1079.     link.addEventListener('click', function () {
  1080.       // Ottieni l'immagine dal data-attribute
  1081.       const image = this.getAttribute('data-image');
  1082.       const imageHtml = `<img src=\"\${image}\" alt=\"zoom immagine\" class=\"zoom-image\" />`;
  1083.       if (imageHtml) {
  1084.           // Aggiorna il contenuto del modale
  1085.           modalImageContainer.innerHTML = '<div class=\"zoom-container\">'+imageHtml+'</div>';
  1086.       }
  1087.     });
  1088.   });
  1089. });
  1090. </script>
  1091. {% endblock %}""product/detail.html.twig""/var/www/html/templates/product/detail.html.twig");
  1092.     }
  1093.     
  1094.     public function checkSecurity()
  1095.     {
  1096.         static $tags = array("do" => 5"set" => 8"if" => 12"include" => 150"for" => 155);
  1097.         static $filters = array("escape" => 25"trans" => 25"raw" => 25"split" => 80);
  1098.         static $functions = array("pimcore_head_title" => 5"pimcore_head_meta" => 6"pimcore_areablock" => 28"pimcore_head_script" => 284);
  1099.         try {
  1100.             $this->sandbox->checkSecurity(
  1101.                 ['do''set''if''include''for'],
  1102.                 ['escape''trans''raw''split'],
  1103.                 ['pimcore_head_title''pimcore_head_meta''pimcore_areablock''pimcore_head_script']
  1104.             );
  1105.         } catch (SecurityError $e) {
  1106.             $e->setSourceContext($this->source);
  1107.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  1108.                 $e->setTemplateLine($tags[$e->getTagName()]);
  1109.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  1110.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  1111.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  1112.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  1113.             }
  1114.             throw $e;
  1115.         }
  1116.     }
  1117. }