Nous utilisons des cookies pour améliorer votre expérience de visite de notre site Web. Pour plus d'informations, Cliquez ici.
Mentions légales
×

Vue d'ensemble de la vie privée

Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.

Vous pouvez régler tous vos paramètres de cookies en naviguant sur les onglets sur le côté gauche.

Nom du cookieAcceptez
GDPR PRO - Règlement sur la protection des données générales - tout en 1 Ce module aide le site adevenir conforme à la norme RGPD en ajoutant les fonctionnalités conformes à la loi.
unknown

Prestashop : comment corriger probleme ajax sur navigation a facette ?

tout servces prestashop

Prestashop : Vérifier la configuration du module Navigation à facettes

Si la navigation à facette ne fonctionne pas en AJAX, c’est peut-être parce que l’option n’est pas activée dans le module. Sans cela, les filtres rechargent la page au lieu d’utiliser l’appel asynchrone.

Va dans Modules > Navigation à facettes > Configurer, et assure-toi que l’option "Utiliser AJAX" est bien activée. Prestashop pourra alors filtrer les produits dynamiquement, sans rechargement de la page catégorie.


Prestashop : Mettre à jour le module facetedsearch

Un bug connu dans une ancienne version du module facetedsearch peut empêcher la navigation AJAX de fonctionner, ou provoquer des erreurs lors du filtrage en temps réel.

Mets à jour le module depuis Modules > Gestion des modules, en recherchant "Navigation à facettes". La dernière version est optimisée pour Prestashop 1.7 et 8, avec une meilleure compatibilité JS et une structure de réponse propre.


Prestashop : Tester avec le thème Classic

Certains thèmes personnalisés modifient le DOM, supprimant les balises attendues par les scripts du module. Cela empêche le déclenchement de la fonction AJAX quand un filtre est coché.

Active le thème Classic pour tester si le filtrage fonctionne. Si oui, ton thème actuel doit être ajusté pour inclure les classes CSS et identifiants HTML attendus par Prestashop pour exécuter la navigation à facette AJAX.


Prestashop : Vider le cache et recompiler les templates

Une version en cache du thème ou du module peut faire buguer le JavaScript de la navigation à facette, surtout après une mise à jour ou une modification manuelle.

Va dans Paramètres Avancés > Performance, puis clique sur "Vider le cache". Active aussi le recalcul des templates à chaque appel si tu es en développement. Prestashop utilisera alors les dernières versions valides des fichiers nécessaires.


Prestashop : Vérifier les erreurs JavaScript en console

Une erreur JavaScript peut empêcher le bon déclenchement de l’appel AJAX à chaque interaction avec un filtre. Cela bloque l’affichage dynamique sans retour utilisateur.

Ouvre la console développeur (F12 > Console) et clique sur un filtre. Si une erreur s’affiche (TypeError, undefined), elle indique une rupture dans la fonction AJAX. Corrige-la pour rétablir le filtrage dynamique.


Prestashop : Contrôler les appels AJAX dans l’onglet Réseau

Dans l’onglet "Réseau", filtre les requêtes XHR et observe celles déclenchées au clic sur un filtre. Tu dois voir une requête vers /module/ps_facetedsearch/fetch.

Si cette requête retourne une erreur 500 ou vide, cela signifie que Prestashop ne parvient pas à générer la réponse filtrée. Vérifie les logs ou le controller concerné pour identifier l’erreur côté serveur.


Prestashop : Réinitialiser les index du module facetedsearch

Si les produits ne s’affichent pas après filtrage, les index du module peuvent être corrompus. Cela bloque l’affichage AJAX des résultats même si le script fonctionne bien.

Va dans Modules > Navigation à facettes > Indexation, et clique sur "Reconstruire tous les index". Prestashop recréera les liens entre filtres et produits, ce qui corrige souvent les erreurs de filtrage vide ou bloqué.


Prestashop : Vérifier les hooks dans le thème

Le module facetedsearch repose sur des hooks comme displayProductList ou displayFacetedFilter. S’ils ne sont pas présents dans ton thème, les éléments AJAX ne peuvent pas être rendus correctement.

Vérifie dans ton category.tpl que les hooks sont bien appelés. Sinon, ajoute-les manuellement ou copie-les depuis le thème Classic. Prestashop en a besoin pour injecter les résultats AJAX à la bonne place.


Prestashop : Corriger les modules tiers qui modifient le DOM

Certains modules de cache, SEO, optimisation ou lazyload modifient le DOM ou retardent les scripts, ce qui empêche la navigation à facette de fonctionner en AJAX.

Désactive temporairement ces modules, vide le cache, et teste à nouveau. Si le filtrage AJAX fonctionne, il faudra adapter les modules ou ajouter des exclusions de traitement pour les pages produit/catégorie.


Prestashop : Inspecter les réponses JSON du module

Chaque clic sur un filtre doit renvoyer une réponse JSON contenant les produits. Si la réponse est vide ou mal formée, les produits n’apparaissent pas et le client croit que la facette est cassée.

Inspecte la réponse de /module/ps_facetedsearch/fetch et vérifie que le HTML des produits est bien présent. Si vide, vérifie les filtres sélectionnés, les index, ou une éventuelle erreur SQL dans les logs serveur.