Le bouton « Ajouter au panier » ne répond pas sur PrestaShop
Un clic sur « Ajouter au panier » qui ne fait rien, ou qui déclenche une erreur 500 : ce n’est pas le contenu du panier qui pose problème ici, c’est l’action elle-même qui ne se déclenche pas ou plante en route. Le bouton dépend d’un appel Ajax vers le contrôleur panier, et plusieurs points précis peuvent le bloquer.
Ce qui se passe techniquement au clic
Sur une fiche produit ou dans une liste, le bouton « Ajouter au panier » déclenche un appel Ajax vers le contrôleur panier du thème, sans recharger la page. Si rien ne se passe visuellement, le problème se situe presque toujours avant même que la requête ne parte : un conflit JavaScript empêche le script du bouton de s’exécuter.
Le cas le plus courant est un chargement multiple de jQuery, une fois par le thème et une fois par un module qui ajoute son propre script sans vérifier ce qui est déjà chargé. Le second chargement écrase le premier, et tous les gestionnaires d’événements attachés avant ce moment cessent de fonctionner, y compris celui du bouton panier.
Quand le clic déclenche une erreur 500
Si le clic part bien en Ajax mais renvoie une erreur 500, la cause est presque toujours côté serveur, dans un module accroché à un hook déclenché lors de l’ajout au panier — par exemple actionCartSave. Un module qui plante silencieusement à ce moment-là bloque l’action pour tous les visiteurs, même si le reste du site fonctionne normalement.
Autre cas fréquent : une déclinaison obligatoire (taille, couleur) non sélectionnée. Si le thème ne gère pas bien cette validation côté client, l’ajout échoue sans aucun message visible, ce qui donne l’impression d’un bouton mort.
Configuration ou développement ?
Vider le cache, désactiver les modules un par un pour isoler le conflit JavaScript, ou vérifier les journaux d’erreur pour repérer le module fautif : ce diagnostic suffit souvent à identifier la cause exacte. La correction devient un développement quand il faut réécrire la partie du module en conflit, adapter un hook devenu incompatible avec la version installée, ou sécuriser la soumission de commande contre les doubles clics.
Pages liées
-
Le panier PrestaShop se vide tout seul
Un symptôme différent : ici le contenu du panier disparaît après coup, pas le clic qui échoue.
-
Tunnel de commande et paiement PrestaShop en panne
Quand le blocage se situe plus loin dans le tunnel de commande, après l’ajout au panier.
-
Développement d’un module PrestaShop sur mesure
Pour un correctif ciblé quand le conflit vient d’un module tiers qu’il faut adapter plutôt que remplacer.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.