Prestashop 1.6 1.7
Erreur PrestaShop 1.6 : Impossible d’ajouter un produit au panier (Erreur 500 / textStatus error)
🧨 Symptôme
Sur certaines boutiques PrestaShop 1.6, l’ajout au panier ne fonctionne plus.
Ă€ la place, on observe :
- Message côté navigateur :
“Impossible to add the product to the cart – textStatus error” - Ou aucun message visible, mais le bouton ne répond pas
🔍 Cause principale
Dans la majorité des cas, cette erreur est liée à une erreur 500 côté serveur lors de l’appel AJAX utilisé pour ajouter un produit au panier.
Cet appel se présente généralement sous la forme :
POST /?rand=XXXXXXXX
👉 Le paramètre rand est utilisé pour éviter le cache sur les requêtes AJAX du panier.
Si cette requête échoue → le panier ne se met pas à jour → erreur côté navigateur.
⚠️ Origine fréquente du problème
L’erreur 500 est très souvent causée par un module défaillant, en particulier :
👉 les modules de transporteurs (livraison)
Pourquoi ?
Lors de l’ajout au panier, PrestaShop :
- Crée / met à jour le panier
- Calcule les frais de livraison
- Appelle les modules de transport
➡️ Si un module plante à cette étape → erreur 500 → panier bloqué
đź’Ą Exemple concret
Une erreur typique peut ressembler Ă :
Fatal error: Call to a member function query() on null
Cela indique qu’un module tente d’exécuter une requête sur un objet non initialisé (souvent base de données ou API externe).
đź§Ş Diagnostic rapide
1. Activer le mode debug
Modifier le fichier :
/config/defines.inc.php
Remplacer :
define('_PS_MODE_DEV_', false);
par :
define('_PS_MODE_DEV_', true);
👉 Cela affichera l’erreur exacte au lieu d’une simple page blanche.
2. Vérifier les requêtes AJAX
Dans le navigateur (F12 → onglet Network) :
- Rechercher une requĂŞte contenant
cartourand - Vérifier :
- statut = 500
- contenu de la réponse (erreur PHP)
đźšš Piste principale : les modules de transport
Une hypothèse très fréquente :
👉 Un module de transporteur provoque le crash
✔️ Test recommandé
- Désactiver les modules de transport un par un
- Tester l’ajout au panier à chaque fois
⚡ Attention : piège classique
Désactiver un module ne suffit pas toujours.
Pourquoi ?
- Le transporteur peut rester actif en base de données
- PrestaShop continue alors de l’utiliser
🛠️ Solution rapide
1. Désactiver les transporteurs en base
Via phpMyAdmin :
UPDATE ps_carrier SET active = 0 WHERE external_module_name IS NOT NULL;
2. Réinitialiser les paniers
UPDATE ps_cart SET id_carrier = NULL;
3. Vider le cache
Supprimer :
/cache/smarty/compile/*
/cache/smarty/cache/*
đź”§ Autres causes possibles
Même si les transporteurs sont les plus fréquents, vérifier aussi :
- Version PHP incompatible (PrestaShop 1.6 préfère PHP 5.6 à 7.1)
- Module récemment installé
- Override cassé
- Problème d’API externe (transport, paiement, etc.)
đź’ˇ Solution temporaire
Pour débloquer rapidement :
- Désactiver tous les transporteurs dynamiques
- Créer un transporteur simple (tarif fixe)
âś… Conclusion
L’erreur :
“Impossible to add the product to the cart – textStatus error”
est presque toujours liée à :
👉 une erreur 500 côté serveur
👉 causée par un module (souvent transporteur), par ex. nous avons déja rencontré le cas avec EnvoiMoinsChe v3.3.3
🧠À retenir
- Le panier déclenche des appels complexes (livraison, règles, modules)
- Une seule erreur PHP suffit Ă tout bloquer
- Les modules de transport sont les premiers suspects
🔎 Conseil final
Toujours :
- Activer le mode debug
- Tester sans modules
- Vérifier les transporteurs actifs
👉 Cela permet d’isoler rapidement la cause et de rétablir le panier.
Reply