<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'main' => [$this, 'block_main'],
'start_sticky_product' => [$this, 'block_start_sticky_product'],
'price_box' => [$this, 'block_price_box'],
'info_destacada' => [$this, 'block_info_destacada'],
'product_attributes' => [$this, 'block_product_attributes'],
'add_to_cart' => [$this, 'block_add_to_cart'],
'after_add_to_cart' => [$this, 'block_after_add_to_cart'],
'price_nav_fixed' => [$this, 'block_price_nav_fixed'],
'before_accordion' => [$this, 'block_before_accordion'],
'modales_producto' => [$this, 'block_modales_producto'],
'informacion_adicional_producto' => [$this, 'block_informacion_adicional_producto'],
'after_main' => [$this, 'block_after_main'],
'footer' => [$this, 'block_footer'],
'json_schema' => [$this, 'block_json_schema'],
];
}
protected function doGetParent(array $context)
{
// line 1
return "base.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
// line 4
$context["d"] = ((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "default_variation", [], "any", true, true, false, 4)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "default_variation", [], "any", false, false, false, 4))) : (""));
// line 1
$this->parent = $this->loadTemplate("base.html.twig", "product.html.twig", 1);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 6
public function block_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 7
echo " <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
";
// line 8
$this->loadTemplate("template-parts/breadcrumb.html.twig", "product.html.twig", 8)->display($context);
// line 9
echo " </div>
<main id=\"product-";
// line 10
echo twig_escape_filter($this->env, 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.', 10, $this->source); })()), "id", [], "any", false, false, false, 10), "html", null, true);
echo "\"
x-init=\"\$nextTick(() => { initialize() })\"
";
// line 12
if ((isset($context["d"]) || array_key_exists("d", $context) ? $context["d"] : (function () { throw new RuntimeError('Variable "d" does not exist.', 12, $this->source); })())) {
// line 13
echo " x-data=\"window.alpineProductData(";
echo twig_escape_filter($this->env, json_encode((isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 13, $this->source); })())), "html", null, true);
echo ", ";
echo twig_escape_filter($this->env, json_encode(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.', 13, $this->source); })()), "default_variation", [], "array", false, false, false, 13)), "html", null, true);
echo ")\"
";
} else {
// line 15
echo " x-data=\"window.alpineProductData(";
echo twig_escape_filter($this->env, json_encode((isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 15, $this->source); })())), "html", null, true);
echo ")\"
";
}
// line 17
echo " class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
";
// line 20
if ((((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "gallery", [], "any", true, true, false, 20)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "gallery", [], "any", false, false, false, 20))) : ("")) || ((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "galleryVariations", [], "any", true, true, false, 20)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "galleryVariations", [], "any", false, false, false, 20))) : ("")))) {
// line 21
echo " <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
";
// line 22
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "discount", [], "any", true, true, false, 22)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "discount", [], "any", false, false, false, 22))) : (""))) {
// line 23
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 23, "1885872536")->display(twig_array_merge($context, ["picto_name" => (("- " . twig_get_attribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 23, $this->source); })()), "discount", [], "any", false, false, false, 23)) . "%")]));
// line 24
echo " ";
}
// line 25
echo " ";
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "video", [], "any", true, true, false, 25)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "video", [], "any", false, false, false, 25))) : (""))) {
// line 26
echo " <button data-modal-target=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 26, $this->source); })()), "video", [], "any", false, false, false, 26), "html", null, true);
echo "\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
";
// line 28
$this->loadTemplate("assets/youtube_icon.svg", "product.html.twig", 28)->display($context);
// line 29
echo " <span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
";
}
// line 32
echo " <div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
";
// line 47
$context['_parent'] = $context;
$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.', 47, $this->source); })()), "gallery", [], "any", false, false, false, 47));
foreach ($context['_seq'] as $context["_key"] => $context["image"]) {
// line 48
echo " <div class=\"swiper-slide\">
";
// line 49
if (((twig_get_attribute($this->env, $this->source, $context["image"], "src", [], "any", true, true, false, 49)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, $context["image"], "src", [], "any", false, false, false, 49))) : (""))) {
// line 50
echo " <a href=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "src", [], "any", false, false, false, 50), "html", null, true);
echo "\" data-pswp-src=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "src", [], "any", false, false, false, 50), "html", null, true);
echo "\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"";
// line 53
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "src", [], "any", false, false, false, 53), "html", null, true);
echo "\"
srcset=\"";
// line 54
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "srcset", [], "any", false, false, false, 54), "html", null, true);
echo "\"
sizes=\"";
// line 55
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "sizes", [], "any", false, false, false, 55), "html", null, true);
echo "\"
alt=\"";
// line 56
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "alt", [], "any", false, false, false, 56), "html", null, true);
echo "\" loading=\"lazy\">
</a>
";
}
// line 59
echo " ";
if (((twig_get_attribute($this->env, $this->source, $context["image"], "youtube_id", [], "any", true, true, false, 59)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, $context["image"], "youtube_id", [], "any", false, false, false, 59))) : (""))) {
// line 60
echo " <iframe src=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["image"], "youtube_src", [], "any", false, false, false, 60), "html", null, true);
echo "\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
";
}
// line 65
echo " </div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['image'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 67
echo " </div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
";
// line 70
$this->loadTemplate("assets/swiper-next.svg", "product.html.twig", 70)->display($context);
// line 71
echo " </div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
";
// line 73
$this->loadTemplate("assets/swiper-prev.svg", "product.html.twig", 73)->display($context);
// line 74
echo " </div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
";
// line 86
$context['_parent'] = $context;
$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.', 86, $this->source); })()), "gallery", [], "any", false, false, false, 86));
foreach ($context['_seq'] as $context["_key"] => $context["image"]) {
// line 87
echo " <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"";
// line 88
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["image"], "thumbnail", [], "any", false, false, false, 88), "src", [], "any", false, false, false, 88), "html", null, true);
echo "\"
alt=\"Miniatura ";
// line 89
echo twig_escape_filter($this->env, ((((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["image"], "thumbnail", [], "any", false, true, false, 89), "alt", [], "any", true, true, false, 89)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["image"], "thumbnail", [], "any", false, true, false, 89), "alt", [], "any", false, false, false, 89))) : (""))) ? (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["image"], "thumbnail", [], "any", false, false, false, 89), "alt", [], "any", false, false, false, 89)) : (twig_get_attribute($this->env, $this->source, $context["image"], "alt", [], "any", false, false, false, 89))), "html", null, true);
echo "\"
loading=\"lazy\">
</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['image'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 93
echo " </div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
";
// line 96
$this->loadTemplate("assets/swiper-next-thumbs.svg", "product.html.twig", 96)->display($context);
// line 97
echo " </div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
";
// line 100
$this->loadTemplate("assets/swiper-prev-thumbs.svg", "product.html.twig", 100)->display($context);
// line 101
echo " </div>
</div>
";
}
// line 104
echo " </div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">";
// line 106
echo twig_escape_filter($this->env, 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); })()), "name", [], "any", false, false, false, 106), "html", null, true);
echo "</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
";
// line 110
$this->displayBlock('start_sticky_product', $context, $blocks);
// line 111
echo " ";
$this->displayBlock('price_box', $context, $blocks);
// line 114
echo " ";
$this->displayBlock('info_destacada', $context, $blocks);
// line 121
echo " ";
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "short_description", [], "any", true, true, false, 121)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "short_description", [], "any", false, false, false, 121))) : (""))) {
// line 122
echo " <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">";
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.', 122, $this->source); })()), "short_description", [], "any", false, false, false, 122);
echo "</span>
";
}
// line 124
echo " ";
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "is_in_stock", [], "any", true, true, false, 124)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "is_in_stock", [], "any", false, false, false, 124))) : (""))) {
// line 125
echo " ";
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "variation_attributes", [], "any", true, true, false, 125)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "variation_attributes", [], "any", false, false, false, 125))) : (""))) {
// line 126
echo " <div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
";
// line 128
$this->displayBlock('product_attributes', $context, $blocks);
// line 137
echo " </div>
";
}
// line 139
echo " ";
$this->displayBlock('add_to_cart', $context, $blocks);
// line 144
echo " ";
$this->displayBlock('after_add_to_cart', $context, $blocks);
// line 145
echo " ";
} else {
// line 146
echo " <div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
";
}
// line 153
echo " <a href=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("whatsapp_link", ["link" => twig_get_attribute($this->env, $this->source, twig_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.', 153, $this->source); })()), "request", [], "any", false, false, false, 153), "pathInfo", [], "any", false, false, false, 153)]), "html", null, true);
echo "\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
";
// line 156
$this->loadTemplate("assets/whatsapp-herramientasparaalicatador.svg", "product.html.twig", 156)->display($context);
// line 157
echo " </a>
</div>
";
// line 160
$this->displayBlock('price_nav_fixed', $context, $blocks);
// line 163
echo " </div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
";
// line 166
$this->displayBlock('before_accordion', $context, $blocks);
// line 167
echo " ";
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "accordion", [], "any", true, true, false, 167)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "accordion", [], "any", false, false, false, 167))) : (""))) {
// line 168
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 168, "85078136")->display(twig_array_merge($context, ["id" => "accordion_product", "accordion" => "collapse", "items" => twig_get_attribute($this->env, $this->source, // line 171
(isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 171, $this->source); })()), "accordion", [], "any", false, false, false, 171)]));
// line 174
echo " ";
}
// line 175
echo " </div>
";
// line 177
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "video", [], "any", true, true, false, 177)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "video", [], "any", false, false, false, 177))) : (""))) {
// line 178
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 178, "458667039")->display(twig_array_merge($context, ["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.', 178, $this->source); })()), "video", [], "any", false, false, false, 178), "modal_button_class" => "hidden", "youtube_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.', 178, $this->source); })()), "video", [], "any", false, false, false, 178), "modal_zIndex" => "z-[1000001]"]));
// line 179
echo " ";
}
// line 180
echo " ";
$this->displayBlock('modales_producto', $context, $blocks);
// line 181
echo " </div>
";
// line 182
$this->displayBlock('informacion_adicional_producto', $context, $blocks);
// line 183
echo " </main>
";
// line 185
$this->displayBlock('after_main', $context, $blocks);
// line 186
echo "
";
// line 187
if (((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "upsell_ids", [], "any", true, true, false, 187)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "upsell_ids", [], "any", false, false, false, 187))) : (""))) {
// line 188
echo " <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
";
// line 189
echo $this->extensions['App\Twig\BlocksExtension']->renderBlock("listadoproductos", ["titulo" => (((twig_get_attribute($this->env, $this->source, // line 190
($context["product"] ?? null), "tituloProductosRelacionados", [], "any", true, true, false, 190) && !(null === twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "tituloProductosRelacionados", [], "any", false, false, false, 190)))) ? (twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "tituloProductosRelacionados", [], "any", false, false, false, 190)) : ("Productos relacionados")), "alineacion" => "start", "categorias_productos" => false, "etiquetas_productos" => false, "numero_productos" => "-1", "boton" => "", "slider_grid" => "slider", "productos" => twig_get_attribute($this->env, $this->source, // line 197
(isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 197, $this->source); })()), "upsell_ids", [], "any", false, false, false, 197), "id" => "relacionados"]);
// line 199
echo "
</section>
";
}
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 110
public function block_start_sticky_product($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "start_sticky_product"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "start_sticky_product"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 111
public function block_price_box($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "price_box"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "price_box"));
// line 112
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 112, "1985890457")->display($context);
// line 113
echo " ";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 114
public function block_info_destacada($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "info_destacada"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "info_destacada"));
// line 115
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 115, "253043151")->display(twig_to_array(["envio" => true, "tiempo_envio" => (((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, // line 117
($context["product"] ?? null), "attributes", [], "any", false, true, false, 117), "pa_tiempo-de-envio", [], "array", false, true, false, 117), 0, [], "array", false, true, false, 117), "name", [], "any", true, true, false, 117) && !(null === twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "attributes", [], "any", false, true, false, 117), "pa_tiempo-de-envio", [], "array", false, true, false, 117), 0, [], "array", false, true, false, 117), "name", [], "any", false, false, false, 117)))) ? (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "attributes", [], "any", false, true, false, 117), "pa_tiempo-de-envio", [], "array", false, true, false, 117), 0, [], "array", false, true, false, 117), "name", [], "any", false, false, false, 117)) : ("")), "size" => ((((twig_get_attribute($this->env, $this->source, // line 118
($context["product"] ?? null), "length", [], "any", true, true, false, 118)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "length", [], "any", false, false, false, 118))) : ("")) || ((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "width", [], "any", true, true, false, 118)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "width", [], "any", false, false, false, 118))) : (""))) || ((twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "height", [], "any", true, true, false, 118)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "height", [], "any", false, false, false, 118))) : ("")))]));
// line 120
echo " ";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 128
public function block_product_attributes($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "product_attributes"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "product_attributes"));
// line 129
echo " ";
$context['_parent'] = $context;
$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.', 129, $this->source); })()), "variation_attributes", [], "any", false, false, false, 129));
foreach ($context['_seq'] as $context["key"] => $context["attribute"]) {
// line 130
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 130, "201806956")->display(twig_to_array(["atributos" => (("product.variation_attributes[\"" . // line 131
$context["key"]) . "\"]"), "atributo" => // line 132
$context["key"]]));
// line 135
echo " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['key'], $context['attribute'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 136
echo " ";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 139
public function block_add_to_cart($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "add_to_cart"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "add_to_cart"));
// line 140
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 140, "1059092971")->display(twig_array_merge($context, ["quantity" => true]));
// line 143
echo " ";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 144
public function block_after_add_to_cart($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "after_add_to_cart"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "after_add_to_cart"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 160
public function block_price_nav_fixed($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "price_nav_fixed"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "price_nav_fixed"));
// line 161
echo " ";
$this->loadTemplate("product.html.twig", "product.html.twig", 161, "1230436163")->display($context);
// line 162
echo " ";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 166
public function block_before_accordion($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "before_accordion"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "before_accordion"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 180
public function block_modales_producto($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "modales_producto"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "modales_producto"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 182
public function block_informacion_adicional_producto($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "informacion_adicional_producto"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "informacion_adicional_producto"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 185
public function block_after_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "after_main"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "after_main"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 204
public function block_footer($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
// line 205
echo " ";
$this->loadTemplate("footer.html.twig", "product.html.twig", 205)->display($context);
// line 206
echo " <div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
";
// line 212
echo $this->env->getFunction('wp_footer')->getCallable()();
echo "
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 215
public function block_json_schema($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "json_schema"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "json_schema"));
// line 216
echo " ";
echo (isset($context["json_schema"]) || array_key_exists("json_schema", $context) ? $context["json_schema"] : (function () { throw new RuntimeError('Variable "json_schema" does not exist.', 216, $this->source); })());
echo "
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1885872536 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 23
return "components/picto.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("components/picto.html.twig", "product.html.twig", 23);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1985890457 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 112
return "template-parts/price-box.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("template-parts/price-box.html.twig", "product.html.twig", 112);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___253043151 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 115
return "components/info-destacada.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("components/info-destacada.html.twig", "product.html.twig", 115);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 1567 => 115, 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___201806956 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 130
return "components/attributes/attribute-button.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("components/attributes/attribute-button.html.twig", "product.html.twig", 130);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 1855 => 130, 1567 => 115, 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1059092971 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 140
return "components/add-to-cart.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("components/add-to-cart.html.twig", "product.html.twig", 140);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 2143 => 140, 1855 => 130, 1567 => 115, 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1230436163 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 161
return "template-parts/price-nav-fixed.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("template-parts/price-nav-fixed.html.twig", "product.html.twig", 161);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 2431 => 161, 2143 => 140, 1855 => 130, 1567 => 115, 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___85078136 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 168
return "components/accordion.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("components/accordion.html.twig", "product.html.twig", 168);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 2719 => 168, 2431 => 161, 2143 => 140, 1855 => 130, 1567 => 115, 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}
/* product.html.twig */
class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___458667039 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
];
}
protected function doGetParent(array $context)
{
// line 178
return "components/modal.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "product.html.twig"));
$this->parent = $this->loadTemplate("components/modal.html.twig", "product.html.twig", 178);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "product.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 3007 => 178, 2719 => 168, 2431 => 161, 2143 => 140, 1855 => 130, 1567 => 115, 1279 => 112, 991 => 23, 713 => 216, 703 => 215, 691 => 212, 683 => 206, 680 => 205, 670 => 204, 652 => 185, 634 => 182, 616 => 180, 598 => 166, 588 => 162, 585 => 161, 575 => 160, 557 => 144, 547 => 143, 544 => 140, 534 => 139, 524 => 136, 518 => 135, 516 => 132, 515 => 131, 513 => 130, 508 => 129, 498 => 128, 488 => 120, 486 => 118, 485 => 117, 483 => 115, 473 => 114, 463 => 113, 460 => 112, 450 => 111, 432 => 110, 419 => 199, 417 => 197, 416 => 190, 415 => 189, 412 => 188, 410 => 187, 407 => 186, 405 => 185, 401 => 183, 399 => 182, 396 => 181, 393 => 180, 390 => 179, 387 => 178, 385 => 177, 381 => 175, 378 => 174, 376 => 171, 374 => 168, 371 => 167, 369 => 166, 364 => 163, 362 => 160, 357 => 157, 355 => 156, 348 => 153, 339 => 146, 336 => 145, 333 => 144, 330 => 139, 326 => 137, 324 => 128, 320 => 126, 317 => 125, 314 => 124, 308 => 122, 305 => 121, 302 => 114, 299 => 111, 297 => 110, 290 => 106, 286 => 104, 281 => 101, 279 => 100, 274 => 97, 272 => 96, 267 => 93, 257 => 89, 253 => 88, 250 => 87, 246 => 86, 232 => 74, 230 => 73, 226 => 71, 224 => 70, 219 => 67, 212 => 65, 203 => 60, 200 => 59, 194 => 56, 190 => 55, 186 => 54, 182 => 53, 173 => 50, 171 => 49, 168 => 48, 164 => 47, 147 => 32, 142 => 29, 140 => 28, 134 => 26, 131 => 25, 128 => 24, 125 => 23, 123 => 22, 120 => 21, 118 => 20, 113 => 17, 107 => 15, 99 => 13, 97 => 12, 92 => 10, 89 => 9, 87 => 8, 84 => 7, 74 => 6, 63 => 1, 61 => 4, 48 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{# Some helpers to make this file more readable #}
{% set d = product.default_variation|default %}
{% block main %}
<div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
{% include 'template-parts/breadcrumb.html.twig' %}
</div>
<main id=\"product-{{ product.id }}\"
x-init=\"\$nextTick(() => { initialize() })\"
{% if d %}
x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
{% else %}
x-data=\"window.alpineProductData({{ product | json_encode }})\"
{% endif %}
class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
<div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
<div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
{% if product.gallery|default or product.galleryVariations|default %}
<div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
{% if product.discount|default %}
{% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
{% endif %}
{% if product.video|default %}
<button data-modal-target=\"{{ product.video }}\"
class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
{% include 'assets/youtube_icon.svg' %}
<span class=\"text-sm font-bold text-black\">Ver vĂdeo</span>
</button>
{% endif %}
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide\">
<template x-if=\"item.src\">
<a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
:data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
:src=\"item.src\"
:srcset=\"item.srcset\"
:sizes=\"item.sizes\"
:alt=\"item.alt\" loading=\"lazy\">
</a>
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide\">
{% if image.src|default %}
<a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
<img class=\"w-full h-full aspect-[4/3] object-contain\"
src=\"{{ image.src }}\"
srcset=\"{{ image.srcset }}\"
sizes=\"{{ image.sizes }}\"
alt=\"{{ image.alt }}\" loading=\"lazy\">
</a>
{% endif %}
{% if image.youtube_id|default %}
<iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
width=\"640\" height=\"360\" frameborder=\"0\"
allow=\"autoplay; fullscreen; picture-in-picture\"
allowfullscreen></iframe>
{% endif %}
</div>
{% endfor %}
</div>
<div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
<div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-next.svg' %}
</div>
<div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
{% include 'assets/swiper-prev.svg' %}
</div>
</div>
<div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
<div class=\"swiper-wrapper\">
<template x-for=\"item in current?.gallery || []\">
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<template x-if=\"item.src\">
<img :src=\"item.thumbnail.src\"
:alt=\"item.alt\" loading=\"lazy\">
</template>
</div>
</template>
{% for image in product.gallery %}
<div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
<img src=\"{{ image.thumbnail.src }}\"
alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
loading=\"lazy\">
</div>
{% endfor %}
</div>
<div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-next-thumbs.svg' %}
</div>
<div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
aria-disabled=\"true\">
{% include 'assets/swiper-prev-thumbs.svg' %}
</div>
</div>
{% endif %}
</div>
<div class=\"row-span-1\">
<h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
</div>
<div class=\"lg:row-span-2 order-4\">
<div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
{% block start_sticky_product %}{% endblock %}
{% block price_box %}
{% embed 'template-parts/price-box.html.twig' %}{% endembed %}
{% endblock %}
{% block info_destacada %}
{% embed 'components/info-destacada.html.twig' with {
envio: true,
tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
size: product.length|default or product.width|default or product.height|default
} only %}{% endembed %}
{% endblock %}
{% if product.short_description|default %}
<span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
{% endif %}
{% if product.is_in_stock|default %}
{% if product.variation_attributes|default %}
<div id=\"product-attributes\"
class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
{% block product_attributes %}
{% for key, attribute in product.variation_attributes %}
{% embed 'components/attributes/attribute-button.html.twig' with {
atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
atributo: key,
} only %}
{% endembed %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% block add_to_cart %}
{% embed 'components/add-to-cart.html.twig' with {
quantity: true
} %}{% endembed %}
{% endblock %}
{% block after_add_to_cart %}{% endblock %}
{% else %}
<div class=\"flex flex-row items-center gap-3 mt-6\">
<button id=\"addToCart\"
class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
<span>Producto agotado</span>
</button>
</div>
{% endif %}
<a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
rel=\"nofollow\" class=\"[&_svg]:max-w-40
[&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
{% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
</a>
</div>
{% block price_nav_fixed %}
{% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
{% endblock %}
</div>
<div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
{% block before_accordion %}{% endblock %}
{% if product.accordion|default %}
{% embed 'components/accordion.html.twig' with {
id: 'accordion_product',
accordion: 'collapse',
items: product.accordion
} %}
{% endembed %}
{% endif %}
</div>
{% if product.video|default %}
{% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
{% endif %}
{% block modales_producto %}{% endblock %}
</div>
{% block informacion_adicional_producto %}{% endblock %}
</main>
{% block after_main %}{% endblock %}
{% if product.upsell_ids|default %}
<section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
{{ render_block('listadoproductos', {
titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
alineacion: 'start',
categorias_productos: false,
etiquetas_productos: false,
numero_productos: '-1',
boton: '',
slider_grid: 'slider',
productos: product.upsell_ids,
id: 'relacionados',
}) }}
</section>
{% endif %}
{% endblock %}
{% block footer %}
{% include 'footer.html.twig' %}
<div class=\"pb-44 lg:pb-16\"></div>
<style>
#whatsapp {
margin-bottom: 5rem;
}
</style>
{{ wp_footer() }}
{% endblock footer %}
{% block json_schema %}
{{ json_schema|raw }}
{% endblock %}", "product.html.twig", "/srv/app/templates/product.html.twig");
}
}