- Filter engines (motores de filtros)
- Alcance de búsqueda (search mode)
- Criterios de filtrado y métodos de visualización
- Visibilidad y prioridad
- Experiencia en front office (desktop y móvil)
- ¿El módulo sustituye ps_facetedsearch?
- ¿Debo desactivar ps_facetedsearch?
- ¿Genera páginas por facetas indexables para SEO?
- ¿Es compatible con un tema personalizado?
- ¿Puede manejar catálogos grandes?
- No se muestra el bloque de filtros
- Todos los contadores muestran 0
- El listado no se actualiza al filtrar
- Timeout durante la indexación
Advanced Search Pro
Presentación
Advanced Search Pro es un módulo moderno de navegación por facetas (filtros avanzados) diseñado como sustituto completo del módulo nativo ps_facetedsearch. El objetivo es claro: ayudar a tus clientes a encontrar productos más rápido, sin recargar la página, con una experiencia fluida en escritorio y móvil.
A diferencia de soluciones antiguas, Advanced Search Pro se basa en una arquitectura orientada al rendimiento: back office con controladores Symfony (compatible con PrestaShop 8 y 9), front office reactivo con Alpine.js y un flujo JSON tipo API (el front envía criterios y el servidor devuelve resultados + contadores). Para mantener tiempos de respuesta rápidos incluso con catálogos grandes, el módulo integra indexación dedicada y caché configurable.
Puntos fuertes:
- Filtrado instantáneo (AJAX) con contadores en tiempo real
- Múltiples motores de filtros (Filter Engines) por categoría/página
- UX móvil optimizada (panel lateral + botón flotante)
- Indexación + caché para mayor rendimiento
- Sin overrides del core de PrestaShop
¿Por qué este módulo?
El módulo nativo ps_facetedsearch puede quedarse corto: interfaz anticuada, recargas durante el filtrado, configuración rígida y rendimiento que empeora cuando el catálogo crece. Advanced Search Pro mejora estos puntos con una experiencia más moderna y una administración más flexible.
| Limitaciones del módulo nativo | Ventajas de Advanced Search Pro |
|---|---|
| Interfaz menos reactiva y antigua | Interacciones fluidas con Alpine.js |
| Recarga completa al filtrar | Peticiones AJAX + respuestas JSON |
| Un único bloque global de filtros | Varios engines por contexto |
| Personalización limitada | Modos de visualización (slider, desplegable, colores, imágenes…) |
| Móvil poco optimizado | Panel móvil (drawer) + UX dedicada |
| Rendimiento frágil en catálogos grandes | Indexación dedicada + caché TTL |
Funcionalidades
Filter engines (motores de filtros)
Un Filter Engine es un bloque de filtros independiente con su propia configuración (criterios, visibilidad, posición, prioridad). Puedes crear tantos como necesites para adaptar los filtros a cada universo de productos.
Características clave:
- Crear múltiples engines independientes
- Posicionamiento mediante hooks (columna izquierda/derecha, parte superior, ancho completo, homepage…)
- Activar/desactivar por engine, duplicar con un clic
- Método de envío: instantáneo (AJAX) o botón Aplicar
- Opciones: incluir subcategorías, mostrar solo productos en stock
Alcance de búsqueda (search mode)
Cada engine puede trabajar con un alcance distinto:
- Contexto actual: filtra dentro de la categoría visitada (lo más habitual)
- Categoría fija: siempre filtra dentro de una categoría seleccionada (útil en homepage)
- Catálogo completo: alcance global (útil para un engine global)
Esto permite mostrar filtros relevantes en cada página sin “ensuciar” la UX con criterios innecesarios.
Criterios de filtrado y métodos de visualización
El módulo soporta los principales criterios de PrestaShop:
- Precio (slider de doble control + campos min/max)
- Atributos (talla, color, material…)
- Características (features)
- Categorías (árbol, miniaturas/imágenes)
- Fabricantes / Marcas
Cada grupo puede mostrarse con distintos métodos:
- Checkboxes, slider (rango), desplegable
- Muestras de color (swatches)
- Imágenes (p. ej. categorías/subcategorías)
- Enlaces / etiquetas
Los contadores se actualizan tras cada interacción, reduciendo los callejones sin salida (“0 productos”) y mejorando la exploración.
Visibilidad y prioridad
La visualización de los engines es muy configurable:
- Mostrar en todas las páginas (por defecto) o solo en páginas concretas
- Restricciones: categorías (incluidas subcategorías), fabricantes, proveedores, páginas CMS, páginas especiales (promociones, novedades, más vendidos, resultados de búsqueda, homepage)
- Sistema de prioridad: en una misma posición solo se muestra un engine (gana el valor de prioridad más bajo)
Esto facilita un setup “engine global + engines especializados”.
Experiencia en front office (desktop y móvil)
UX pensada para convertir:
- Filtros activos como píldoras clicables (eliminación rápida)
- Acción Clear all para reiniciar todo
- Grupos plegables (acordeón)
- Contadores en tiempo real
En móvil:
- Drawer (panel lateral) activado por un botón flotante “Filters”
- Breakpoint configurable (768px por defecto)
- Cierre intuitivo (× o tap fuera del panel)
- Scroll controlado (sin scroll del fondo)
Requisitos
| Componente | Versión mínima |
|---|---|
| PrestaShop | 8.0.0 |
| PHP | 8.1 |
| MySQL | 5.7 / MariaDB 10.3 |
⚠️ Importante: es obligatorio desactivar
ps_facetedsearch. Ambos módulos no pueden coexistir porque usan los mismos hooks.
Instalación
Método 1 — Back office (recomendado)
- Ve a Módulos > Gestor de módulos
- Haz clic en Subir un módulo
- Selecciona
wepresta_advancedsearch.zip - Espera a que finalice la instalación
- Haz clic en Configurar
Método 2 — FTP
- Descomprime
wepresta_advancedsearch.zip - Sube
wepresta_advancedsearch/a/modules/ - En el back office: Módulos > Gestor de módulos
- Busca “Advanced Search Pro”
- Haz clic en Instalar y luego Configurar
Qué hace la instalación
- Crea tablas de indexación (atributos, características, categorías, precios, fabricantes)
- Crea tablas de configuración (engines, criterios, visibilidad)
- Registra hooks de front office y back office
- Añade un menú Advanced Search Pro
- Ejecuta la indexación inicial del catálogo
- Detecta
ps_facetedsearchy propone desactivarlo
La indexación inicial puede tardar de segundos a minutos según el tamaño del catálogo.
Inicio rápido
Activa tu primer bloque de filtros en menos de 5 minutos:
- Instala el módulo y desactiva
ps_facetedsearch - Abre Advanced Search Pro desde el menú
- Haz clic en Add new engine
- Define un nombre interno (p. ej. “Filtros principales”)
- Elige un hook (p. ej. Left Column) y deja Current page context
- Guarda y añade criterios (Precio, Talla, Color, Marca…)
- En Tools, ejecuta Full reindexation
- Visita una categoría: los filtros deben mostrarse y funcionar
Configuración
Parámetros de un engine
Opciones principales:
- Internal name: nombre interno (back office)
- Public name: título en el front (opcional, multiidioma)
- Display hook: posición (izquierda/derecha/top/ancho completo/homepage…)
- Submission method: instantáneo (AJAX) o botón
- Search mode: contexto / categoría fija / catálogo completo
- Opciones: incluir subcategorías, solo en stock, activo
Gestión de criterios
Los criterios se configuran por engine:
- Añade/elimina grupos (precio, atributos, características, categorías, marcas…)
- Elige el método de visualización (checkboxes, slider, desplegable, swatches, imágenes…)
- Ordena los grupos (orden en back office = orden en el front)
- Reindexa si creas nuevos atributos/características en PrestaShop
Visibilidad y prioridades
Para evitar varios bloques en la misma página:
- Usa un engine global como fallback (prioridad 10+)
- Crea engines especializados (prioridad 1–5) por categorías
- Asegúrate de que el hook exista en tu tema (algunos temas no renderizan columnas)
Ajustes globales
Ajustes comunes a todos los engines:
- Caché: activar + TTL
- Rendimiento: debounce + batch size de indexación
- Integración: selector CSS del listado de productos (crítico para el reemplazo AJAX)
- Debug: logs detallados (evitar en producción)
Herramientas e indexación
El módulo mantiene índices dedicados para acelerar el filtrado:
- ATTRIBUTES, FEATURES, CATEGORIES, PRICES, MANUFACTURERS
Se recomienda una reindexación completa:
- Tras la instalación (a menudo automática)
- Tras importaciones masivas
- Tras cambios estructurales (nuevos atributos, nuevas categorías)
- Si los resultados/contadores parecen incoherentes
En catálogos muy grandes (10.000+ productos), es mejor programar la indexación vía CRON para evitar timeouts.
Compatibilidad
PrestaShop
- ✅ PrestaShop 8.x
- ✅ PrestaShop 9.x
PHP
- ✅ PHP 8.1 a 8.4
Bases de datos
- ✅ MySQL 5.7+
- ✅ MariaDB 10.3+
Temas
- ✅ Temas PrestaShop (Classic, Hummingbird)
- ✅ Temas personalizados (verificar el selector CSS del listado)
FAQ
¿El módulo sustituye ps_facetedsearch?
Sí. Está diseñado como reemplazo completo con UX moderna, engines múltiples y filtrado instantáneo.
¿Debo desactivar ps_facetedsearch?
Sí, es obligatorio. No pueden funcionar juntos (mismos hooks).
¿Genera páginas por facetas indexables para SEO?
No, no en esta versión. Las páginas SEO por facetas están previstas para una versión futura.
¿Es compatible con un tema personalizado?
En la mayoría de casos sí. El punto crítico es el Product list CSS selector, que debe apuntar al contenedor del listado para permitir el reemplazo AJAX.
¿Puede manejar catálogos grandes?
Sí, gracias a la indexación y la caché. Ajusta TTL, batch size y debounce según tu servidor y programa la indexación si lo necesitas.
Solución de problemas
No se muestra el bloque de filtros
- Comprueba que el engine esté activo
- Verifica que el hook exista en el tema
- Revisa la visibilidad (restricciones por página/categoría)
- Revisa la prioridad (otro engine puede prevalecer)
- Asegúrate de que
ps_facetedsearchesté desactivado - Vacía la caché de PrestaShop
Todos los contadores muestran 0
- Ejecuta una reindexación completa
- Verifica que los productos tengan atributos/características asignados
- Revisa el alcance (categoría actual con productos)
El listado no se actualiza al filtrar
- Verifica el Product list CSS selector
- Revisa la consola del navegador (F12) por errores JS
- Activa temporalmente debug y revisa los logs de PrestaShop
Timeout durante la indexación
- Reduce el batch size
- Aumenta
max_execution_time/memory_limitsi es posible - Usa indexación vía CRON para catálogos grandes
Changelog
Versión 1.0.0 — Marzo 2026
- Engines múltiples, visibilidad por página y sistema de prioridades
- 3 modos de búsqueda (contexto / categoría fija / catálogo completo)
- Criterios: precio, atributos, características, categorías, fabricantes
- Filtrado AJAX instantáneo, píldoras de filtros activos, clear all
- Drawer móvil + breakpoint configurable
- Indexación dedicada + caché TTL
- Ajustes: debounce, batch size, selector CSS, debug
- Controladores Symfony, multitienda, multiidioma, sin overrides
Licencia
Distribuido bajo la Academic Free License (AFL 3.0).
Copyright © WePresta. Todos los derechos reservados.