DataFirefly Guía de tallas — Documentación
Guía de tallas modulable, calculadora interactiva, página SEO dedicada y feedback post-compra para PrestaShop 8 y 9.
Descripción general
DataFirefly Guía de tallas añade a su tienda PrestaShop un sistema completo de guías de tallas modulables por categoría, fabricante o producto, con tablas de equivalencia EU/US/UK/FR/JP, calculadora interactiva de recomendación de talla, página SEO indexable dedicada por categoría, y widget de feedback post-compra con puntuación de sesgo agregada.
El módulo se dirige a tiendas de textil y calzado donde más del 20% de las devoluciones se deben a problemas de talla. Transforma esta fricción en un recorrido de compra tranquilizador: el cliente ve la tabla correcta automáticamente, puede introducir sus medidas para obtener una recomendación personalizada, y usted recoge feedback cualificado que permite detectar productos mal escalados.
Compatibilidad
- PrestaShop 8.0.x, 8.1.x, 8.2.x, 9.0.x
- PHP 8.1, 8.2, 8.3
- Multi-tienda (todas las asignaciones están acotadas por
id_shop) - Polylang FR/EN/ES/DE listo para usar
- Temas classic, hummingbird y temas custom (7 posiciones diferentes disponibles)
Instalación
- Suba el ZIP
dfsizeguide.zipdesde Módulos → Module Manager → Subir un módulo. - Haga clic en Instalar. Las 4 tablas preset (textil mujer, textil hombre, calzado mujer, calzado hombre) se crean automáticamente en 4 idiomas, y se crea una asignación por defecto sobre la tabla textil mujer.
- Al terminar la instalación, la pestaña «Guía de tallas» aparece en todas sus fichas de producto sin configuración adicional.
- Vaya a Módulos → DataFirefly Guía de tallas → Configurar para ajustar las posiciones, la unidad por defecto y las funciones activadas.
Conceptos clave
El resolutor de tablas de 4 niveles
Cuando un cliente llega a una ficha de producto, el módulo busca qué tabla mostrar siguiendo una prioridad estricta:
- Producto — si ha asignado explícitamente una tabla a este producto concreto, gana.
- Fabricante — si no, la tabla asignada a la marca del producto.
- Categoría — si no, la primera categoría del producto que tiene una tabla, empezando por la más profunda (la especificidad gana).
- Por defecto — si no, la tabla marcada como fallback global.
Esta jerarquía permite mantener una sola tabla por marca o por sección sin tocar las fichas de producto individuales, conservando la posibilidad de override quirúrgico.
Tipos de columnas
Cada tabla está compuesta de columnas tipadas:
- Columna «talla» — un solo valor de texto por fila (S, M, 38, XL). Utilizada para las equivalencias internacionales (EU, US, UK, FR, JP).
- Columna «medida» — un rango numérico min/max por fila (ej. contorno de pecho 88–92 cm). Utilizada para indicar las medidas corporales que corresponden a cada talla.
La calculadora interactiva se apoya exclusivamente en las columnas «medida» para determinar la talla recomendada.
Configuración
Posiciones en la ficha de producto
El módulo expone 7 posiciones activables individualmente en Configurar → Posiciones ficha producto:
- Pestaña de producto (activada por defecto, recomendada) — hook
displayProductExtraContent, añade una pestaña limpia junto a «Descripción» y «Detalles». Funciona en la práctica totalidad de temas PS 1.7+. - Bajo el precio — hook
displayProductPriceBlock(tipoafter_price), renderiza un enlace compacto justo debajo del precio. - Cerca del botón «Añadir al carrito» — hook
displayProductActions, renderiza un botón compacto. - Bajo la información del producto — hook
displayProductAdditionalInfo, renderiza un botón prominente. - En el bloque de garantías — hook
displayReassurance, se integra visualmente con sus otros argumentos (envío, devoluciones). - Después de las imágenes del producto — hook
displayAfterProductThumbs, renderiza un botón compacto justo bajo la galería. - Al pie de la página de producto — hook
displayFooterProduct, renderiza un botón prominente al pie de página.
Puede activar varias posiciones en paralelo: la modal de la guía se instancia una sola vez en el DOM (anti-duplicado), y los botones adicionales abren la misma modal.
La pestaña de producto es la única posición que renderiza la tabla inline. Las otras 6 posiciones renderizan un botón que abre la modal.
Parámetros generales
- Unidad por defecto — cm o pulgadas. El cliente puede cambiar al vuelo, la preferencia se conserva en el cálculo.
- Calculadora interactiva — activa la introducción de medidas y la recomendación de talla (activada por defecto).
- Feedback de cliente post-compra — activa el widget que pregunta al cliente si la talla era adecuada (activado por defecto).
- Datos estructurados JSON-LD — activa la inyección del marcado Schema.org para mejorar el SEO (activado por defecto).
- Slug página SEO — prefijo de la URL de las páginas de guías dedicadas (por defecto
size-guide).
Crear y editar una tabla
Menú Módulos → Guías de tallas → Tablas. Haga clic en «Añadir» para crear una tabla nueva, o en el icono del lápiz para editar una tabla existente.
Campos de la tabla
- Código interno — identificador técnico único (ej.
mujer-vestidos-2026). Utilizado en las URL SEO y en los logs. - Tipo — textil superior, textil inferior, vestido, calzado, o custom.
- Nombre — etiqueta multilingüe mostrada a los clientes (título de la pestaña, título de la modal, h1 de la página SEO).
- Introducción (HTML) — contenido multilingüe mostrado encima de la tabla.
- Instrucciones de medida (HTML) — sección plegable que explica cómo tomar cada medida.
- Pie (HTML) — contenido multilingüe mostrado bajo la tabla (aviso, enlace a política de devoluciones, etc.).
- Meta title / Meta description — para la página SEO dedicada.
- Activo — interruptor on/off. Una tabla inactiva nunca se sirve aunque esté asignada.
Editar la tabla
Bajo el formulario de la tabla, un editor visual permite construir el tabla:
- Haga clic en Columna talla para añadir una columna textual. Rellene el código (ej.
eu,intl) y la etiqueta multilingüe. - Haga clic en Columna medida para añadir una columna numérica. Rellene el código (ej.
chest_cm) y la unidad (cm, pulgadas, mm). - Haga clic en Fila para añadir una fila. Rellene las celdas: texto simple para las columnas «talla», valores min/max para las columnas «medida».
- Haga clic en Guardar. El guardado se realiza en una transacción SQL atómica — o se guarda todo, o no se guarda nada.
Asignar una tabla
Menú Módulos → Guías de tallas → Asignaciones.
- Elija la tabla a asignar en la lista.
- Elija el tipo de destino: Por defecto (fallback global), Categoría, Fabricante o Producto.
- Según el tipo, aparece un segundo campo para elegir la categoría (en un árbol indentado), la marca (desplegable) o el ID del producto (entrada directa).
- Haga clic en Añadir / Actualizar. Si ya existe una asignación para este destino, se sobrescribe (upsert).
Todas las asignaciones están acotadas por tienda en multi-tienda. Puede tener una tabla diferente para la misma categoría en dos tiendas del mismo grupo.
La calculadora de tallas
La calculadora aparece bajo la tabla, únicamente si la tabla tiene al menos una columna «medida».
Algoritmo de puntuación
El cliente introduce sus medidas en los campos (un campo por columna «medida»). Al enviar:
- Los valores se normalizan a centímetros (conversión automática si el usuario ha elegido pulgadas: ×2.54).
- Para cada fila de la tabla, el módulo calcula una puntuación: +2 puntos si la medida del cliente cae exactamente en el rango min/max de la celda, +1 punto si está cerca (a ±5% del rango), 0 puntos en otro caso.
- La fila con la mejor puntuación gana.
- Los empates se resuelven escogiendo la fila cuyos rangos están más centrados en los valores del cliente.
- La talla recomendada se extrae prioritariamente de la columna
eu, luegofr,intl,uk,us,jp.
Retorno usuario
La calculadora muestra la talla recomendada con una puntuación de confianza en porcentaje, el top 3 de candidatas posibles cada una con su puntuación, un resaltado de la fila recomendada en la tabla superior, y la lista de medidas que no coinciden con ninguna fila (con aviso).
Feedback de cliente post-compra
Un widget «¿La talla era adecuada?» aparece al pie de la ficha de producto con 5 opciones: muy pequeño, algo pequeño, perfecto, algo grande, muy grande. Solo se renderiza en las siguientes condiciones:
- El cliente está autenticado (sesión activa).
- El cliente ha comprado efectivamente este producto (join con
ordersyorder_detail, estado válido). - El cliente no ha dado ya su opinión sobre este producto.
El gating es íntegramente del lado servidor, sin riesgo de bypass.
Panel de feedback
Menú Módulos → Guías de tallas → Feedback cliente. Una síntesis sobre la tabla muestra el número de respuestas en cada categoría de los 5 niveles. Debajo, la lista completa del feedback por producto con el ID del cliente, la talla comprada y la fecha.
Puntuación de sesgo
Para cada producto con al menos 3 feedbacks, se calcula una puntuación de sesgo:
puntuación = ((too_large × 2 + slightly_large) − (too_small × 2 + slightly_small)) / total
Una puntuación positiva indica que el producto talla sistemáticamente grande (a bajar un escalón). Una puntuación negativa indica que talla pequeño (a subir un escalón). Una puntuación cercana a cero indica un buen escalado.
Página SEO dedicada
El módulo expone una ruta pública por categoría: /{slug}/{category-link-rewrite}, donde {slug} es el prefijo configurado (por defecto size-guide).
Ejemplo: https://sutienda.com/size-guide/vestidos-mujer
La página contiene un breadcrumb, el título h1 de la tabla, la introducción, las instrucciones de medida y la tabla completa, la calculadora (si está activada), el pie HTML de la tabla, y un marcado JSON-LD WebPage Schema.org que ayuda a Google a entender que la página es una guía práctica.
Las etiquetas meta title y meta description vienen de los campos SEO de la tabla. Configúrelas correctamente para captar búsquedas long tail tipo «guía tallas vestidos mujer».
Multi-idioma y multi-tienda
El módulo es multilingüe a nivel de tablas (nombre, intro, instrucciones, pie, meta), a nivel de etiquetas de columnas, y a nivel de etiquetas Polylang para las URL.
En multi-tienda, cada asignación (guía → destino) está acotada por id_shop. Puede así mostrar la tabla A para la categoría «Calzado» en la tienda francesa, y la tabla B para la misma categoría en la tienda alemana.
Estructura técnica
Base de datos
7 tablas con prefijo dfsg_: dfsg_guide, dfsg_guide_lang, dfsg_column, dfsg_column_lang, dfsg_row, dfsg_cell, dfsg_assignment, dfsg_feedback. Todas las tablas se eliminan limpiamente en la desinstalación.
Hooks utilizados
actionFrontControllerSetMedia— inyección CSS/JS frontdisplayBackOfficeHeader— inyección CSS/JS admindisplayProductExtraContent— pestaña ficha producto (recomendado)displayProductPriceBlock,displayProductActions,displayProductAdditionalInfo,displayReassurance,displayAfterProductThumbs,displayFooterProduct— posiciones alternativasdisplayHeader— inyección JSON-LD en las fichas de productoactionValidateOrder— trigger para futuros recordatorios (v2)moduleRoutes— página SEO dedicada
FAQ
La guía no se muestra en mi ficha de producto, ¿qué hago?
Compruebe primero en Configurar → Posiciones ficha producto que al menos una posición está activada (Pestaña de producto por defecto). Si su tema custom no renderiza los hooks nativos de PrestaShop, active varias posiciones en paralelo: al menos una de las 7 debería funcionar. Compruebe también que existe al menos una tabla activa y una asignación por defecto en Guías de tallas → Asignaciones.
¿Puedo importar tablas desde CSV?
No en la versión 1.0. El editor visual permite construir las tablas al vuelo. La importación CSV está prevista para la versión 1.1.
¿Funciona la calculadora sin JavaScript?
No, la calculadora es interactiva y necesita JavaScript para hacer la llamada AJAX al servidor. Sin embargo, la tabla estática se muestra perfectamente sin JS, lo que preserva la accesibilidad y el SEO.
¿Hay riesgo de marcado JSON-LD duplicado?
No. El hook displayHeader emite un solo script JSON-LD por página de producto, y la página SEO dedicada tiene su propio marcado WebPage distinto. El validador Schema.org de Google no señala ningún duplicado.
¿Compatible con la migración PrestaShop 8 a 9?
Sí. El módulo declara ps_versions_compliancy de 8.0.0 a 9.99.99, usa las clases ObjectModel y HelperForm que siguen soportadas en PS 9, y no usa ninguna API obsoleta.
¿Cómo purgar todos los datos del módulo?
La desinstalación vía Module Manager elimina todas las tablas dfsg_* y todas las configuraciones DFSG_*. No queda ningún rastro en la base de datos.
Soporte
Email: support@datafirefly.com. Respuesta en 5 días laborables en francés o inglés.