# 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.

- Source canonique : [https://allaux.fr/prestashop/problemes/bouton-ajouter-panier-ne-fonctionne-pas](https://allaux.fr/prestashop/problemes/bouton-ajouter-panier-ne-fonctionne-pas)
- Langue : FR
- Dernière mise à jour : 2026-08-03

## Réponse directe

> Ouvrez la console du navigateur (F12, onglet Console) puis cliquez sur le bouton : une erreur JavaScript rouge trahit presque toujours un jQuery chargé une seconde fois par un module. Si l’appel Ajax part mais renvoie une erreur 500, activez _PS_MODE_DEV_ dans config/defines.inc.php et désactivez un à un les modules greffés sur actionCartSave.

## 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.

## Le cas du double-clic sur « Commander »

> Un double-clic sur un bouton de validation de commande peut créer deux commandes distinctes si aucun verrou ne bloque une seconde soumission pendant que la première est encore en traitement. C’est un symptôme voisin, à distinguer d’un bouton qui ne répond pas du tout.

## 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. ([/prestashop/problemes/panier-se-vide-tout-seul](/prestashop/problemes/panier-se-vide-tout-seul))
- **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. ([/prestashop/probleme-paiement](/prestashop/probleme-paiement))
- **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. ([/prestashop/module-sur-mesure](/prestashop/module-sur-mesure))

## FAQ

### Le bouton ne fait rien sur mobile mais fonctionne sur ordinateur, pourquoi ?

C’est souvent le même conflit JavaScript, mais un thème mobile ou une version allégée du site charge parfois des scripts différents, ce qui explique qu’un problème n’apparaisse que sur un seul type d’appareil.

### Comment savoir si c’est un module qui bloque le bouton ?

Je désactive les modules récemment installés ou mis à jour, un par un, et je reteste après chaque désactivation. C’est souvent le moyen le plus rapide d’isoler le module responsable avant d’aller lire son code.

### Le bug apparaît juste après une mise à jour de PrestaShop, est-ce lié ?

Oui, c’est un déclencheur fréquent : un module écrit pour une version plus ancienne peut s’accrocher à un hook qui a changé de comportement, ce qui casse l’ajout au panier sans toucher au reste du site.

### Le double-clic sur « Commander » peut-il vraiment créer deux commandes ?

Oui si rien n’empêche une seconde soumission pendant que la première est en cours de traitement. C’est un point que je vérifie systématiquement, séparément du problème d’ajout au panier.

### Faut-il un développeur pour ce genre de bug ?

Pas toujours : isoler la cause avec un diagnostic par désactivation suffit souvent. Un développement devient nécessaire quand il faut corriger le code du module en conflit ou adapter un hook obsolète.
