- Filter engines (moteurs de filtres)
- Périmètre de recherche (search mode)
- Critères de filtrage et méthodes d’affichage
- Visibilité et priorité
- Affichage front-office (desktop et mobile)
- Le module remplace-t-il ps_facetedsearch ?
- Dois-je désactiver ps_facetedsearch ?
- Le module génère-t-il des pages SEO indexables par facette ?
- Le module est-il compatible avec un thème custom ?
- Le module peut-il gérer un gros catalogue ?
- Le bloc de filtres ne s’affiche pas
- Les compteurs affichent 0 partout
- Le listing ne se met pas à jour après un filtre
- Timeout lors de l’indexation
Advanced Search Pro
Présentation
Advanced Search Pro est un module de navigation à facettes (filtres avancés) conçu comme un remplacement moderne du module natif ps_facetedsearch. L’objectif est simple : permettre à vos clients de trouver le bon produit en quelques clics, sans rechargement de page, avec une expérience fluide sur desktop et mobile.
Contrairement aux approches legacy, Advanced Search Pro repose sur une architecture performante : back-office en contrôleurs Symfony (compatibles PrestaShop 8 et 9), interactions front-office ultra-réactives via Alpine.js, et un fonctionnement orienté API JSON (le front envoie des critères, le serveur renvoie les résultats + compteurs). Pour maintenir des temps de réponse rapides même sur des catalogues volumineux, le module intègre un système d’indexation dédié et un cache configurable.
Points forts :
- Filtres instantanés (AJAX) avec mise à jour des compteurs en temps réel
- Multiples moteurs de filtres (Filter Engines) selon vos catégories/pages
- Expérience mobile optimisée (drawer + bouton flottant)
- Indexation et cache pour de meilleures performances
- Aucun override du cœur PrestaShop
Pourquoi ce module ?
Le module natif ps_facetedsearch devient vite limitant : interface vieillissante, rechargements, configuration rigide, et performances qui chutent quand le catalogue grossit. Advanced Search Pro vise à corriger ces points avec une expérience plus actuelle et une administration plus souple.
| Limites du module natif | Apport d’Advanced Search Pro |
|---|---|
| Interface datée et moins réactive | Interactions fluides via Alpine.js |
| Rechargement complet lors du filtrage | Requêtes AJAX + réponse JSON |
| Un bloc de filtres unique pour tout le site | Engines multiples par contexte/catégorie |
| Paramétrage limité des critères | Méthodes d’affichage adaptées (slider, dropdown, couleurs, images…) |
| Mobile peu optimisé | Drawer mobile + UX dédiée |
| Performances fragiles sur gros catalogues | Indexation dédiée + cache TTL |
Fonctionnalités
Filter engines (moteurs de filtres)
Un Filter Engine est un bloc de filtres autonome avec sa propre configuration (critères, visibilité, position, priorité). Vous pouvez en créer autant que nécessaire pour adapter l’expérience de navigation à chaque univers produit.
Fonctionnalités clés :
- Création de moteurs multiples indépendants
- Positionnement via hooks (colonne gauche/droite, haut de page, pleine largeur, homepage…)
- Activation/désactivation par engine, duplication en un clic
- Méthode de soumission : instant (AJAX) ou validation (bouton)
- Options : inclure les sous-catégories, filtrer uniquement les produits en stock
Périmètre de recherche (search mode)
Chaque engine peut rechercher dans un périmètre différent :
- Contexte courant : recherche dans la catégorie consultée (cas le plus courant)
- Catégorie fixe : recherche toujours dans une catégorie choisie (utile pour homepage)
- Catalogue entier : recherche globale (utile pour un moteur global)
Ce mécanisme permet d’afficher des filtres pertinents selon la page, sans “polluer” l’expérience avec des critères inutiles.
Critères de filtrage et méthodes d’affichage
Le module gère les principaux types de critères PrestaShop :
- Prix (slider double curseur + saisie min/max)
- Attributs (taille, couleur, matière…)
- Caractéristiques (features)
- Catégories (arbre, vignettes/images)
- Fabricants / Marques
Chaque groupe de critères peut être affiché selon plusieurs méthodes :
- Checkboxes, slider (range), dropdown
- Color swatches (carrés de couleur)
- Images (ex : catégories/sous-catégories)
- Liens / tags
Les compteurs sont mis à jour après chaque interaction, ce qui évite les impasses (“0 produit”) et aide les clients à affiner sans frustration.
Visibilité et priorité
L’affichage des engines se contrôle finement :
- Affichage sur toutes les pages (par défaut) ou sur des pages spécifiques
- Restrictions possibles : catégories (avec sous-catégories), fabricants, fournisseurs, pages CMS, pages spéciales (promotions, nouveautés, best-sellers, résultats de recherche, homepage)
- Système de priorité : sur une même position, un seul engine s’affiche (priorité la plus basse = gagnante)
Cette logique permet un setup “global + spécialisés” : un engine global sert de fallback, et des engines spécialisés prennent le relais selon la catégorie.
Affichage front-office (desktop et mobile)
Côté client, l’expérience est pensée pour la conversion :
- Filtres actifs sous forme de pills cliquables (avec suppression rapide)
- Bouton Clear all pour tout réinitialiser
- Groupes repliables (accordion)
- Compteurs dynamiques en temps réel
Sur mobile :
- Drawer (panneau latéral) déclenché par un bouton flottant “Filters”
- Breakpoint configurable (768px par défaut)
- Fermeture intuitive (× ou tap à l’extérieur)
- Scroll interne maîtrisé (pas de scroll derrière le drawer)
Prérequis
| Composant | Version minimum |
|---|---|
| PrestaShop | 8.0.0 |
| PHP | 8.1 |
| MySQL | 5.7 / MariaDB 10.3 |
⚠️ Important : ce module nécessite la désactivation du module natif
ps_facetedsearch. Les deux ne peuvent pas coexister car ils exploitent les mêmes hooks de navigation à facettes.
Installation
Méthode 1 — Back-office (recommandé)
- Allez dans Modules > Gestionnaire de modules
- Cliquez sur Téléverser un module
- Sélectionnez l’archive
wepresta_advancedsearch.zip - Attendez la fin de l’installation
- Cliquez sur Configurer
Méthode 2 — FTP
- Décompressez
wepresta_advancedsearch.zip - Uploadez
wepresta_advancedsearch/dans/modules/ - Dans le back-office : Modules > Gestionnaire de modules
- Recherchez “Advanced Search Pro”
- Cliquez sur Installer puis Configurer
Ce que fait l’installation
- Création des tables d’indexation (attributs, caractéristiques, catégories, prix, fabricants)
- Création des tables de configuration (engines, critères, visibilité)
- Enregistrement des hooks front-office et back-office
- Ajout d’un onglet Advanced Search Pro dans le menu
- Indexation initiale automatique du catalogue
- Détection de
ps_facetedsearchavec proposition de désactivation
L’indexation initiale peut durer de quelques secondes à quelques minutes selon la taille du catalogue.
Démarrage rapide
Pour activer un premier bloc de filtres en moins de 5 minutes :
- Installez le module et désactivez
ps_facetedsearch - Ouvrez Advanced Search Pro dans le menu
- Cliquez sur Add new engine
- Donnez un nom interne (ex : “Filtres principaux”)
- Choisissez un hook (ex : Left Column) et gardez Current page context
- Enregistrez, puis ajoutez vos critères (Prix, Taille, Couleur, Marque…)
- Dans Tools, lancez Full reindexation
- Consultez une page catégorie : les filtres doivent être visibles et actifs
Configuration
Paramètres d’un engine
Les réglages importants à connaître :
- Internal name : nom interne (back-office)
- Public name : titre affiché en front (optionnel, multilingue)
- Display hook : position du bloc (gauche/droite/haut/plein écran/homepage…)
- Submission method : instant (AJAX) ou bouton
- Search mode : contexte / catégorie fixe / catalogue entier
- Options : sous-catégories, stock uniquement, activation
Gestion des critères
Les critères se configurent par engine :
- Ajoutez/retirez des groupes (prix, attributs, caractéristiques, catégories, marques…)
- Choisissez une méthode d’affichage (checkboxes, slider, dropdown, couleurs, images…)
- Organisez l’ordre (l’ordre de liste = l’ordre front)
- Réindexez si vous ajoutez de nouveaux attributs/caractéristiques dans PrestaShop
Visibilité et priorités
Pour éviter plusieurs blocs concurrents sur une même page :
- Utilisez un engine global (priorité 10+) en fallback
- Créez des engines spécialisés (priorité 1–5) par catégories
- Vérifiez que le hook existe dans votre thème (certains thèmes n’affichent pas de colonne)
Paramètres globaux (settings)
Les réglages s’appliquent à tous les engines :
- Cache : activation + TTL
- Performance : debounce (délai avant appel AJAX) + batch size d’indexation
- Intégration : sélecteur CSS du listing produits (important pour que le contenu se remplace correctement)
- Debug : journalisation détaillée (à éviter en production)
Outils et indexation
Le module maintient des index dédiés pour accélérer les recherches :
- ATTRIBUTES, FEATURES, CATEGORIES, PRICES, MANUFACTURERS
La réindexation complète est recommandée :
- Après installation (souvent automatique)
- Après import massif
- Après changement structurel (nouveaux attributs, nouvelles catégories)
- Si les résultats semblent incohérents
Pour de très gros catalogues (10 000+ produits), privilégiez une réindexation via tâche CRON pour éviter les timeouts.
Compatibilité
PrestaShop
- ✅ PrestaShop 8.x
- ✅ PrestaShop 9.x
PHP
- ✅ PHP 8.1 à 8.4
Bases de données
- ✅ MySQL 5.7+
- ✅ MariaDB 10.3+
Thèmes
- ✅ Thèmes PrestaShop (Classic, Hummingbird)
- ✅ Thèmes custom (vérifier le sélecteur CSS du listing produits)
FAQ
Le module remplace-t-il ps_facetedsearch ?
Oui. Il est conçu comme un remplacement complet, avec une UX plus moderne, des engines multiples et une recherche instantanée.
Dois-je désactiver ps_facetedsearch ?
Oui, obligatoirement. Les deux modules ne peuvent pas fonctionner ensemble (hooks identiques).
Le module génère-t-il des pages SEO indexables par facette ?
Non, pas dans cette version. La génération de pages SEO (facettes indexables) est prévue pour une version future.
Le module est-il compatible avec un thème custom ?
Dans la majorité des cas oui. Le point critique est le Product list CSS selector : il doit cibler le conteneur de la liste produits pour permettre la mise à jour AJAX.
Le module peut-il gérer un gros catalogue ?
Oui, grâce à l’indexation dédiée et au cache. Ajustez TTL, batch size et debounce selon votre serveur, et utilisez une réindexation planifiée si besoin.
Dépannage
Le bloc de filtres ne s’affiche pas
- Vérifiez que l’engine est actif
- Vérifiez que le hook existe dans votre thème
- Vérifiez la visibilité (pages spécifiques)
- Vérifiez la priorité (un autre engine peut prendre le dessus)
- Vérifiez que
ps_facetedsearchest bien désactivé - Videz le cache PrestaShop
Les compteurs affichent 0 partout
- Lancez une réindexation complète
- Vérifiez que vos produits ont bien attributs/caractéristiques
- Vérifiez le périmètre (catégorie courante et présence de produits)
Le listing ne se met pas à jour après un filtre
- Vérifiez le Product list CSS selector
- Contrôlez la console navigateur (F12) pour erreurs JS
- Activez temporairement le debug et consultez les logs PrestaShop
Timeout lors de l’indexation
- Réduisez le batch size
- Augmentez
max_execution_timeetmemory_limitsi possible - Réindexez via CRON sur gros catalogues
Changelog
Version 1.0.0 — Mars 2026
- Engines multiples, visibilité par page et priorité
- 3 modes de recherche (contexte / catégorie fixe / catalogue entier)
- Critères : prix, attributs, caractéristiques, catégories, fabricants
- AJAX instantané, filtres actifs (pills), clear all
- Drawer mobile + breakpoint configurable
- Indexation dédiée + cache TTL
- Paramètres : debounce, batch size, CSS selector, debug
- Contrôleurs Symfony, multistore, multilingue, sans override
Licence
Ce module est distribué sous licence Academic Free License (AFL 3.0).
Copyright © WePresta. Tous droits réservés.