PrestaShop Warenkorb aktualisiert sich nicht: Cache-, JS- und Modulkonflikte

Frage veröffentlicht Antwort veröffentlicht 1242 Aufrufe

Wenn der Warenkorb in PrestaShop nicht aktualisiert, der Button reagiert nicht, dreht endlos oder zeigt die falsche Summe, liegt es fast immer an einem von drei Dingen: einem JavaScript-Fehler, einem veralteten Cache oder einem Modulkonflikt. Gehen Sie sie in dieser Reihenfolge durch.

PrestaShop-Backoffice, Advanced Parameters > Performance, Bildschirm mit Cache- und CCC-Einstellungen.
Probleme beim Aktualisieren des Warenkorbs beginnen oft mit Prüfungen von Cache, JavaScript-Optimierung oder Modulkonflikten.

Im Browser beginnen

„In den Warenkorb" ist ein AJAX-Aufruf, also öffnen Sie die Entwicklertools (F12). Auf dem Console-Tab laden Sie die Produktseite neu und achten auf rote Fehler wie $ is not defined oder einen SyntaxError, ein einziges defektes Skript (oft aus einem Modul) stoppt das gesamte Seiten-JavaScript, auch den Warenkorb. Der Dateipfad im Fehler verrät das verantwortliche Modul; deaktivieren Sie es zur Bestätigung.

Dreht der Button, ohne fertig zu werden, wechseln Sie zum Network-Tab, filtern auf XHR und klicken „In den Warenkorb". Die Cart-Anfrage sollte Status 200 mit gültigem JSON liefern. 500 heißt Serverfehler; HTML im JSON bedeutet, dass ein Modul eine Warnung vor dem JSON ausgegeben hat; 403 deutet auf ein Sicherheitsmodul oder eine WAF.

rm -rf var/cache/dev/* var/cache/prod/*

base='https://example.com/index.php'
curl -sS "$base?controller=cart&add=1&ajax=true&id_product=1&qty=1&token=STATIC_TOKEN" \
  -H 'X-Requested-With: XMLHttpRequest' | jq .

Jede Cache-Schicht leeren

Aktualisiert sich der Warenkorb, zeigt aber alte Mengen oder Preise, liefert ein Cache veraltete Daten. Testen Sie zuerst im Inkognito-Fenster, um den Browser auszuschließen. Leeren Sie dann die Smarty-Compile- und -Cache-Ordner unter var/cache (oder Erweiterte Parameter > Leistung > Cache leeren). Bei aktivem CCC kann der JS-Syntaxfehler eines Moduls das ganze kombinierte Bündel zerstören, zum Testen CCC deaktivieren. Steht ein CDN wie Cloudflare davor, dürfen „Cache Everything"-Regeln nie den Warenkorb-Endpunkt erfassen; dessen Antworten sind kundenspezifisch und dürfen nicht gecacht werden.

Cookies, Sessions und Modulkonflikte

Ein Warenkorb, der sich bei jedem Seitenaufruf leert, ist meist ein Cookie-Problem, eine falsche Domain (www vs. ohne), ein falsches SameSite- oder Secure-Flag oder nicht geteilte Sessions über Server hinweg. Um ein Konfliktmodul zu finden, deaktivieren Sie Drittmodule in Gruppen und aktivieren sie in Fünfer-Schritten wieder; achten Sie auf alles, was an actionCartSave, actionCartUpdate oder actionFrontControllerSetMedia hängt.

Eine ausführlichere Diagnose finden Sie in unserem PrestaShop-Fehlersuche-Leitfaden.

War diese Antwort hilfreich?

Noch Fragen?

Sie finden nicht, wonach Sie suchen? Senden Sie uns Ihre Frage und wir melden uns bei Ihnen.

Lade ...
Nach oben