En PrestaShop, añades el aviso de garantía legal mediante la plantilla de la página de producto en un tema hijo, o mediante un módulo que muestre HTML en el hook de información adicional del producto.
El código para PrestaShop
<div data-garantielabel></div>
<script src="https://www.garantielabel.app/widget.js" async></script>Más opciones, como la forma de mostrarlo y el idioma, las ajustas en el generador de código.
Paso a paso en PrestaShop
- Usa un tema hijo
Los cambios en el tema van en un tema hijo para que las actualizaciones no los sobrescriban. - Elige el sitio
Entemplates/catalog/product.tpl, busca la zona debajo del botón de añadir al carrito. - Pega el código
Pega ahí el código del widget. Como alternativa, usa un módulo de bloque HTML del marketplace de Addons en el hookdisplayProductAdditionalInfo. - Vacía la caché
Vacía la caché en Parámetros avanzados → Rendimiento y comprueba.
Usamos los nombres de menú de PrestaShop en español donde los hemos podido confirmar; los demás van entre comillas en inglés, con nuestra traducción entre paréntesis.
Lo que conviene saber de PrestaShop
- Smarty interpreta las llaves. El código del widget no contiene ninguna, así que puedes pegarlo directamente.
- Si en los ajustes de rendimiento está activada la caché inteligente para JavaScript (“Smart cache for JavaScript”), el script externo queda fuera de ella.
Dónde va el aviso en PrestaShop
PrestaShop coloca el contenido mediante hooks. Según la documentación para desarrolladores, estos tres están en los siguientes lugares de los temas Classic y Hummingbird:
displayProductAdditionalInfo(«Product page additional info») está encatalog/_partials/product-additional-info.tpl. En el tema Classic,product.tplincluye este archivo justo después de la zona de añadir al carrito. Este es el sitio para el aviso en la página de producto.displayReassuranceestá encatalog/product.tpl, pero también encheckout/cart.tplycheckout/checkout.tpl. Por tanto, un módulo en este hook aparece en la página de producto, en el carrito y en el pago.displayFooterestá en_partials/footer.tply por eso aparece en todas las páginas.
Un módulo se engancha a un hook en Diseño → Posiciones, con el botón de arriba a la derecha («Trasplantar un módulo»). Para el pie de página existe además el módulo «Link list» (Diseño → Link Widget). Enlaza páginas de Diseño → Páginas en bloques de enlaces; en el tema Classic, los bloques están en el pie de página. Así, una página propia con el widget aparece como enlace en el pie de página.
Combinaciones, marca e identificador del modelo
En PrestaShop, las variantes se llaman combinaciones. Al crear el producto, eliges el tipo «Producto con combinaciones» y aparece la pestaña Combinaciones. Cada combinación tiene sus propias referencias: referencia, además de ISBN, EAN y UPC. Según la documentación del webservice, cada combinación tiene también su propio campo MPN.
La marca, en cambio, pertenece al producto. Según PrestaShop, un producto tiene exactamente una marca, que se gestiona en Marcas y proveedores. Así que todas las combinaciones comparten la marca. El MPN de la pestaña Detalles es la referencia única del productor. Si coincide con el identificador del modelo de la etiqueta GARAN, lo sabrás por la información del productor.
La etiqueta GARAN indica la marca y el identificador del modelo, así que hay una etiqueta por identificador del modelo. El widget muestra una etiqueta GARAN por marcador de posición y no cambia con la combinación seleccionada. Si las combinaciones tienen identificadores del modelo distintos, crea esos modelos como productos independientes, cada uno con su propia etiqueta.
Errores habituales en PrestaShop
- Caché de plantillas: Si en Parámetros Avanzados → Rendimiento está configurado que los archivos de plantilla no se vuelvan a compilar nunca, la tienda solo muestra los cambios del tema después de vaciar la caché.
- Tema hijo: En
config/theme.yml,parentcontiene el nombre de la carpeta del tema padre, no su nombre visible. Tu propionametiene que coincidir con el nombre de tu propia carpeta. - Otros temas: Las posiciones de hooks de arriba valen para Classic y Hummingbird. Otro tema puede mostrar los hooks en otro sitio o no mostrarlos. Comprueba en Diseño → Posiciones qué hooks muestra tu tema.
- Módulo sin método: Según la documentación para desarrolladores, un módulo en un hook para el que no tiene el método correspondiente no muestra nada.
Más fuentes
- Documentación para desarrolladores de PrestaShop: List of hooks (en inglés)
- Tema Classic de PrestaShop: catalog/product.tpl (GitHub)
- Documentación para desarrolladores de PrestaShop: Displaying content on the front office (en inglés)
- Documentación de PrestaShop: Link Widget (en inglés)
- Documentación de PrestaShop: Managing products (en inglés)
- Documentación para desarrolladores de PrestaShop: recurso Combinations del webservice (en inglés)
- Documentación de PrestaShop: Performance (en inglés)
- Documentación para desarrolladores de PrestaShop: Creating a child theme (en inglés)
Aviso de garantía legal en la confirmación de pedido
Según las directrices de la Comisión, el aviso también debería aparecer en el correo de confirmación. Las plantillas de correo se editan en Internacional → Traducciones o en “Design” → “Email Theme” (Diseño → Tema de correo). El gráfico oficial se puede añadir como imagen a la confirmación de pedido. Es poco probable que un simple enlace cuente como soporte duradero (TJUE, asunto C-49/11, Content Services); lo más seguro es poner el aviso directamente en el correo como imagen, texto o adjunto. Encontrarás los archivos oficiales en nuestra página de descargas.
¿Garantía del productor? Entonces añade la etiqueta GARAN
Si el productor da gratis una garantía comercial de durabilidad de más de dos años que cubre la totalidad del bien, la etiqueta GARAN también va en la página de producto. Con el generador de etiquetas GARAN la creas en segundos a partir de los años, la marca y el modelo; tus primeras 3 etiquetas son gratis y sin registro. Debajo de cada etiqueta terminada recibes un código para insertar con direcciones de imagen permanentes: no subes nada y lo pegas en PrestaShop como se muestra arriba.
¿Prefieres tus propios archivos? Sube la versión completa y la anidada a la biblioteca de medios de PrestaShop e introduce las direcciones en el código del widget:
<div data-garantielabel
data-garan-voll="https://…/GARAN-MX-500.svg"
data-garan-klein="https://…/GARAN-MX-500-anidada.svg"></div>El widget muestra entonces la versión anidada debajo del aviso de garantía legal, y un clic abre la etiqueta GARAN completa.
Preguntas frecuentes
¿Hay un módulo listo para usar?
No necesitas un módulo aparte. Basta con la plantilla en el tema hijo; como alternativa, un módulo de bloque HTML del marketplace de Addons.
¿Funciona en PrestaShop 1.7, 8 y 9?
Sí, igual en las tres versiones.
¿Tengo que vaciar la caché?
Sí, después de cambiar la plantilla.
¿Qué hook muestra el aviso también en el carrito?
displayReassurance. En Classic y Hummingbird está en la página de producto, en el carrito y en el pago.
¿Cada combinación tiene su propio identificador del modelo?
Cada combinación tiene sus propias referencias (referencia, ISBN, EAN, UPC y, según la documentación del webservice, MPN). La marca, sin embargo, se aplica a todo el producto.
¿Cómo pongo el aviso en el pie de página?
Con un módulo en el hook displayFooter, o como enlace: crea una página con el widget en Diseño → Páginas y enlázala en el pie de página con el módulo «Link list».