Una búsqueda por facetas suele pedirle al servidor cada clic: una consulta pesada por cada cambio de filtro, lenta
en catálogos grandes e imposible de poner en caché. Instant Filters cambia dónde se hace el trabajo. La tienda
escribe un conjunto de archivos JSON con todo el catálogo y los filtros que puede ofrecer, y el navegador del
cliente los lee una vez y después filtra, cuenta, ordena y pagina por su cuenta.
Qué escribe la tienda
Para cada tienda, idioma, moneda y grupo de clientes que prepares, el módulo mantiene un index.json con un
registro compacto por producto (categorías, marca, características, atributos, precio, descuento, stock, fecha,
ventas y posición) y los nombres que muestra cada filtro, además de archivos cards-N.json con las tarjetas de
producto renderizadas por tu theme activo, de modo que el listado filtrado es idéntico al normal. Los precios
son los que paga ese visitante, con descuentos, reducciones de grupo e impuestos como los muestra la tienda.
Cómo se mantiene al día
Guardar o borrar un producto, cambiar su stock, añadir una regla de precio, editar una característica, un atributo,
una categoría, una marca, una moneda o un grupo deja el cambio en una cola pequeña. El navegador del siguiente
visitante pide a una dirección del módulo que lo procese cuando la página ya se ha mostrado, así nadie espera y no
hay que configurar ningún cron. Para una importación grande o un despliegue, ejecuta
php modules/ecomaddonsinstantfilters/cli/rebuild.php o pulsa el botón de reconstruir.
En la tienda
El panel de filtros aparece en las páginas de categoría, marca, proveedor, novedades, más vendidos y bajadas de
precio: junto a los productos (la columna izquierda del theme), como una barra encima o como un botón flotante que
abre un panel lateral, como prefieras; en móvil siempre es un panel lateral. El servidor sigue imprimiendo el listado normal: los buscadores, y
quien no tenga JavaScript, lo ven como siempre.
Conviene saber
- Está pensado para catálogos de hasta unos diez mil productos por conjunto de archivos. Más allá, los archivos
crecen demasiado para el móvil.
- Desactiva la búsqueda por facetas de PrestaShop (la página de ajustes tiene un botón) o los clientes verán dos
paneles.
- Cada grupo de clientes con precios propios necesita sus archivos: elígelos en los ajustes.
- En Apache, el módulo añade un
.htaccess en img/ecomfilters/ que deja pasar solo los archivos JSON; en nginx
permite img/ecomfilters/*.json en tu configuración.