PrestaShop 1.6 / 1.7 – XML-Fehler im Admin-Bereich – Ursache und Lösung
Betroffene Dateien: must_have_modules_list.xml, modules_native_addons.xml
In letzter Zeit traten in PrestaShop 1.6- und 1.7-Shops Fehler im Admin-Bereich auf, die XML-Dateien betrafen, z. B.:
Error found : Start tag expected, '<' not found in must_have_modules_list.xml file Error found : Start tag expected, '<' not found in default_country_modules_list.xml file Error found : Start tag expected, '<' not found in modules_native_addons.xml file
Das Problem resultiert aus der Kommunikation des Administrationsbereichs mit der PrestaShop Addons-API und hat in den meisten Fällen keinen Einfluss auf die Funktionsweise des Shops auf Kundenseite, kann jedoch zu Problemen im Administrationsbereich führen.
Woher stammen diese XML-Dateien?
Das Problem resultiert aus der Kommunikation des Administrationsbereichs mit der PrestaShop Addons-API und hat in den meisten Fällen keinen Einfluss auf den Betrieb des Shops auf Kundenseite, kann jedoch zu Problemen im Administrationsbereich führen.
PrestaShop ruft regelmäßig Listen von Modulen aus der Addons-API ab und speichert sie lokal im Verzeichnis:
config/xml/
Die wichtigsten Dateien
## must_have_modules_list.xml Lista polecanych modułów z marketplace PrestaShop. ## default_country_modules_list.xml Lista modułów sugerowanych dla danego kraju. ## modules_native_addons.xml Lista modułów natywnych dostępnych w PrestaShop Addons.
Diese Dateien werden hauptsächlich im Admin-Bereich unter „Modules → Module Manager“ verwendet.
PrestaShop nutzt sie für:
- die Anzeige empfohlener Module
- Module als „Must-have“ zu kennzeichnen
- die Integration mit dem Addons-Marktplatz
- native Module zu präsentieren
Dokumentation:
https://devdocs.prestashop-project.org/8/modules/
Warum tritt dieser Fehler auf?
Ältere PrestaShop-Versionen erwarten, dass die Addons-API Daten im XML-Format zurückgibt.
Derzeit kommt es vor, dass die API-Endpunkte:
- vorübergehend nicht verfügbar sind
- Fehler zurückgeben
- eine Antwort in einem anderen Format (z. B. JSON) zurückgeben
- eine unvollständige Antwort zurückgeben
Beispielanfrage:
https://api.addons.prestashop.com/?version=1.6.1.24&method=listing&action=must-have
Wenn die Antwort kein gültiges XML ist, meldet der PrestaShop-Parser (`simplexml_load_string`) einen Fehler:
Start tag expected, '<' not found
Dokumentation zum PHP-XML-Parser:
https://www.php.net/manual/en/...
Was sind die Symptome des Problems?
Neben den XML-Meldungen im Admin-Bereich kann das Problem auch Folgendes verursachen:
- fehlende Ergebnisse in der Suchmaschine
- Probleme beim Filtern von Modulen
- unvollständige Modullisten
- langsameres Laden der Seite „Module“
- Fehler beim Durchsuchen des Addons-Marktplatzes
Das Problem betrifft ausschließlich den Bereich der Modulverwaltung. Es hat keine Auswirkungen auf Bestellungen, Produkte, Kunden, Zahlungen, den Warenkorb oder das Frontend des Shops.
Schnelle Lösung
Die einfachste Lösung besteht darin, den Inhalt der problematischen Dateien durch minimales, korrektes XML zu ersetzen. Greifen Sie per SSH oder FTP auf folgenden Pfad zu:
config/xml/
Und ersetzen Sie den Inhalt der Dateien durch die unter dem Dateinamen angegebenen Werte:
## must_have_modules_list.xml: <?xml version="1.0" encoding="UTF-8"?> <modules/> ## default_country_modules_list.xml: <?xml version="1.0" encoding="UTF-8"?> <modules/> ## modules_native_addons.xml: <?xml version="1.0" encoding="UTF-8"?> <modules/>
Für die Zukunft – wie man das erneute Überschreiben von Dateien verhindert
Das Ersetzen der XML-Dateien löst das Problem in der Regel sofort, aber bedenken Sie, dass PrestaShop in Zukunft erneut versuchen könnte, diese Dateien herunterzuladen und zu aktualisieren. Es gibt zwei praktische Vorgehensweisen.
Option 1 – Schreibschutz für Dateien
Sie können die Dateien auf Lesezugriff beschränken. Dies ist eine einfache und schnelle Lösung, setzt jedoch weiterhin voraus, dass PrestaShop versucht, die Aktualisierung durchzuführen, die Dateien jedoch nicht überschreiben kann. Führen Sie diesen Vorgang über SSH oder manuell in einem FTP-Programm durch:
chmod 444 config/xml/must_have_modules_list.xml chmod 444 config/xml/default_country_modules_list.xml chmod 444 config/xml/modules_native_addons.xml
Option 2 – Überschreiben der Tools-Klasse
Eine elegantere Lösung besteht darin, die Überprüfung der Addons-API durch das Überschreiben der Tools-Klasse zu deaktivieren.
Datei:
override/classes/Tools.php
Beispiel für das Überschreiben:
php
class Tools extends ToolsCore
{
protected static $is_addons_up = false;
}
Dies bewirkt, dass PrestaShop:
- nicht versucht, eine Verbindung zur Addons-API herzustellen
- diese XML-Dateien nicht erneut abruft
- keine damit verbundenen Fehler generiert
Dokumentation zum Override:
https://devdocs.prestashop-pro...
Nach dem Hinzufügen des Overrides muss der Cache geleert werden – mach das manuell oder über SSH:
PS 1.7:
rm -rf var/cache/*
PS 1.6:
rm -rf cache/class_index.php
Was geht verloren, wenn wir die Addons-API deaktivieren?
In der Praxis installieren die meisten Produktionsshops die Module ohnehin manuell, sodass der Verlust dieser Funktion in der Regel keine Rolle spielt.
Folgendes funktioniert nicht:
- Liste der empfohlenen Module
- Marktplatz im Admin-Bereich
- Modulvorschläge
- „Must-have“-Kennzeichnungen
- Addons im Admin-Bereich anzeigen
Funktioniert weiterhin:
- Installation von Modulen aus ZIP-Dateien
- manuelle Installation von Modulen
- Modul-Updates
- Gesamter Shop
- Bestellungen
- Kasse
Zusammenfassung
Das Problem resultiert aus der Kommunikation der alten PrestaShop-Version mit der Addons-API. Die wichtigsten Fakten:
- Es handelt sich nicht um ein Serverproblem
- Es handelt sich nicht um ein Problem mit der Shop-Konfiguration
- Es handelt sich nicht um Malware
- Es hat keinen Einfluss auf den Verkauf
- betrifft ausschließlich das Modul-Panel
Die beste Lösung:
- XML austauschen
- Addons-API deaktivieren
Empfehlung
Wenn der Shop stabil läuft, kann der oben genannte Workaround bedenkenlos angewendet werden. Wenn der Shop weiterhin mit PrestaShop 1.6 oder der alten Version 1.7 läuft, sollten Sie auch Folgendes in Betracht ziehen:
- ein Update auf eine neuere Version
- technische Überprüfung
- Aktualisierung der Module
- eine Leistungsoptimierung
In jedem der oben genannten Fälle – kontaktieren Sie uns gerne, wir helfen Ihnen gerne weiter! :-)







