Módulo Comparador de Productos — Instalación y configuración
Instalación, configuración y funcionamiento del módulo Comparador de Productos.
Presentación
El módulo Comparador de Productos (dfcomparator) añade a tu tienda PrestaShop un comparador lado a lado completo. Los botones «Comparar» aparecen automáticamente en la ficha de producto y en los listados, y una página dedicada alinea los productos seleccionados en columnas: precio, características, disponibilidad, etc.
El comparador está escrito en JavaScript vanilla, sin jQuery ni dependencia externa. Funciona desde la instalación, sin configuración adicional.
Compatibilidad
- PrestaShop 8.0 a 9.x
- Tienda simple y multitienda
- 5 idiomas: FR, EN, ES, DE, IT
- Sin dependencias (ni Composer ni framework)
Instalación
- En el back-office, abre Módulos > Gestor de módulos.
- Haz clic en Subir un módulo y selecciona el archivo
dfcomparator.zip. - Una vez instalado, haz clic en Configurar.
El módulo registra automáticamente sus hooks (actionFrontControllerSetMedia, displayProductAdditionalInfo, displayFooter) y crea su tabla de almacenamiento en la instalación. La desinstalación elimina esa tabla.
Configuración
General
- Número máximo de productos: de 2 a 6 columnas comparables (4 por defecto).
- Etiqueta del botón: texto mostrado en el botón «Comparar».
- Color de acento: color de los botones, insignias y elementos destacados.
- Abrir en una nueva pestaña: abre la página de comparación en una pestaña separada.
Ubicaciones de los botones
- Mostrar en la ficha de producto: añade el botón en la ficha del producto.
- Mostrar en los listados: añade el botón en las miniaturas de los listados (categorías, búsqueda).
- Barra flotante: muestra la barra de comparación persistente con miniaturas y contador.
En los listados, los botones se reinyectan automáticamente tras cada filtrado Ajax (navegación por facetas, paginación, ordenación).
Página de comparación
- Resaltado del mejor precio: destaca la columna con el precio más bajo con una insignia.
- Fila de precio: muestra u oculta la fila de precio.
- Botón de añadir al carrito: añade un botón de carrito en cada columna.
- Columnas fijas (sticky): fija la cabecera y la primera columna al desplazarse.
- Solo diferencias por defecto: activa de entrada la ocultación de las filas idénticas.
Filas comparadas
Cada fila puede activarse o desactivarse individualmente: referencia, marca, estado, disponibilidad, peso, dimensiones y descripción corta. Las características del producto («Features» de PrestaShop) se añaden automáticamente, una fila por característica, en el orden definido en el catálogo. Una fila se marca como «idéntica» cuando su valor es el mismo en todos los productos comparados.
Funcionamiento y persistencia
La selección se conserva del lado del cliente mediante un token de navegador (cookie dfcmp_token) acompañado de un espejo localStorage para un renderizado instantáneo. Para un cliente conectado, las selecciones hechas en varios dispositivos se fusionan. Una URL para compartir (por identificadores de productos, ?ids=...) permite enviar o reencontrar una comparación.
Rendimiento
El módulo carga sus scripts solo cuando es necesario y realiza una llamada Ajax únicamente en una acción (añadir, eliminar, abrir). El renderizado inicial de la barra se apoya en la caché local, sin esperar al servidor.
FAQ y resolución de problemas
El botón «Comparar» no aparece
Comprueba que la visualización en ficha de producto / listados está activada en la configuración, y luego vacía la caché de PrestaShop (Parámetros avanzados > Rendimiento). En un tema muy personalizado, el botón de los listados se inserta en la miniatura del producto: asegúrate de que el tema expone el identificador de producto en la miniatura.
La barra flotante permanece vacía
La barra solo aparece una vez que se ha añadido al menos un producto a la comparación. Comprueba también que la opción «Barra flotante» está activada.
El mejor precio no se resalta
Activa las opciones «Resaltado del mejor precio» y «Fila de precio». El resaltado compara los precios finales con impuestos mostrados de los productos.