Czym są pliki XML w katalogu config/xml/?
PrestaShop przechowuje lokalnie kilka plików XML, które odpowiadają za działanie sekcji Moduły > Menedżer modułów w panelu administracyjnym. Pobierane są cyklicznie z zewnętrznego API PrestaShop Addons i zapisywane w katalogu:config/xml/- must_have_modules_list.xml – lista modułów oznaczonych jako „must have” przez PrestaShop
- modules_native_addons.xml – lista modułów natywnych dostępnych w Addons
- default_country_modules_list.xml – moduły sugerowane dla konkretnego kraju
- trusted_modules_list.xml – lista zaufanych modułów weryfikowanych przez PrestaShop
Jak wygląda błąd XML i gdzie się pojawia?
Błąd najczęściej pojawia się bezpośrednio w panelu administracyjnym – w zakładce Módulos lub po wejściu do Menedżera modułów. Komunikaty mogą wyglądać następująco:Error found : Start tag expected, '<' not found in must_have_modules_list.xml file
Error found : Start tag expected, '<' not found in modules_native_addons.xml file
Error found : Start tag expected, '<' not found in default_country_modules_list.xml file
Skąd bierze się ten błąd?
PrestaShop wysyła zapytania HTTP do API PrestaShop Addons, aby pobrać aktualne listy modułów. Przykładowy endpoint wygląda tak:https://api.addons.prestashop.com/?version=1.7.8.x&method=listing&action=must-have- API Addons zwraca odpowiedź w innym formacie (np. JSON lub stronę błędu HTML)
- połączenie z API jest zablokowane przez firewall lub konfigurację serwera
- serwer sklepu nie ma dostępu do zewnętrznych zasobów (brak wychodzącego ruchu HTTP/HTTPS)
- API Addons jest chwilowo niedostępne lub zwraca timeout
- wersja PrestaShop jest zbyt stara i nie jest już obsługiwana przez API
Czy błąd wpływa na działanie sklepu?
- lista rekomendowanych modułów
- sekcja „must have” w menedżerze modułów
- marketplace Addons dostępny z poziomu admina
- sugestie modułów dla kraju
- wolniejsze ładowanie strony Moduły (timeout przy próbie połączenia z API)
Krok 1 – sprawdzenie zawartości plików XML
Przed wprowadzeniem jakichkolwiek zmian warto sprawdzić, co aktualnie znajduje się w plikach. Przez SSH wykonujemy:cat config/xml/must_have_modules_list.xml
Krok 2 – podmiana plików na poprawny XML
Najszybsze rozwiązanie to zastąpienie zawartości problematycznych plików minimalnym, poprawnym XML-em. Przez SSH wykonujemy:echo '<?xml version="1.0" encoding="UTF-8"?><modules/>' > config/xml/must_have_modules_list.xml
echo '<?xml version="1.0" encoding="UTF-8"?><modules/>' > config/xml/modules_native_addons.xml
echo '<?xml version="1.0" encoding="UTF-8"?><modules/>' > config/xml/default_country_modules_list.xml
echo '<?xml version="1.0" encoding="UTF-8"?><modules/>' > config/xml/trusted_modules_list.xml<?xml version="1.0" encoding="UTF-8"?>
<modules/>
Krok 3 – trwałe rozwiązanie przez override klasy
Aby trwale zablokować próby pobierania XML z API Addons, tworzymy override klasy Tools. Tworzymy plik:override/classes/Tools.php<?php
class Tools extends ToolsCore
{
protected static $is_addons_up = false;
}Po utworzeniu pliku override czyścimy cache. Dla PrestaShop 1.7 / 8.x:
rm -rf var/cache/dev/*
rm -rf var/cache/prod/*
Alternatywa – blokada zapisu do plików
Jeśli nie chcemy korzystać z override, można ustawić plikom XML prawa tylko do odczytu. PrestaShop nie będzie mógł ich nadpisać:chmod 444 config/xml/must_have_modules_list.xml
chmod 444 config/xml/modules_native_addons.xml
chmod 444 config/xml/default_country_modules_list.xml
chmod 444 config/xml/trusted_modules_list.xml
Czego nie tracimy po wyłączeniu Addons API?
Warto wiedzieć, że w środowisku produkcyjnym większość tych funkcji i tak nie jest używana na co dzień:| Función | Po wyłączeniu API |
| Frontend sklepu | Działa bez zmian |
| Zamówienia i koszyk | Działa bez zmian |
| Instalacja modułów z ZIP | Działa bez zmian |
| Aktualizacje modułów | Działa bez zmian |
| Marketplace Addons w adminie | Niedostępne |
| Rekomendacje modułów „must have” | Niedostępne |
| Sugestie modułów dla kraju | Niedostępne |
Kiedy błąd może powrócić?
Jeśli zastosujemy wyłącznie podmianę plików bez override lub chmod, błąd może powrócić po:- odświeżeniu strony Menedżera modułów
- uruchomieniu crona PrestaShop
- aktualizacji PrestaShop
- wyczyszczeniu cache
Resumen
Błąd XML w panelu PrestaShop to problem komunikacji starej wersji sklepu z API Addons – nie jest to awaria serwera, problem z bazą danych ani obecność złośliwego oprogramowania. Sklep działa normalnie. Rozwiązanie jest szybkie i nie wymaga aktualizacji PrestaShop.Rekomendowane kroki:
- Sprawdzenie zawartości plików w config/xml/
- Podmiana plików na minimalny poprawny XML
- Dodanie override klasy Tools z $is_addons_up = false
- Wyczyszczenie cache PrestaShop
Póngase en contacto con nosotros






