Konflikty modułów PrestaShop – jak diagnozować i naprawiać?
Dwa moduły działają osobno, ale razem powodują błędy? To klasyczny konflikt modułów. Dowiedz się jak go zidentyfikować i naprawić bez utraty funkcjonalności.
Czym jest konflikt modułów?
Konflikt modułów występuje gdy dwa lub więcej modułów próbuje modyfikować ten sam element PrestaShop – ten sam hook, klasę PHP lub plik szablonu. Efekt to biały ekran, błąd 500, znikające elementy lub nieprawidłowe działanie koszyka.
Objawy konfliktu
- Biały ekran po instalacji nowego modułu
- Błędy JavaScript w konsoli przeglądarki
- Zdublowane elementy na stronie (np. dwa przyciski "Dodaj do koszyka")
- Moduł działa na stronie głównej, ale nie na karcie produktu
- Błędy tylko dla zalogowanych użytkowników
Diagnostyka – metoda eliminacji
Krok 1 – zidentyfikuj winowajcę
Wyłączaj moduły jeden po drugim (od ostatnio zainstalowanego) aż problem zniknie. Możesz to zrobić przez panel admina lub przez FTP – zmieniając nazwę folderu modułu.
Krok 2 – sprawdź hooki
W panelu admina przejdź do: Wygląd → Pozycje. Sprawdź czy dwa moduły nie są podpięte do tego samego hooka w tej samej kolejności.
Krok 3 – sprawdź overrides
Moduły często używają overrideów klas PHP. Jeśli dwa moduły nadpisują tę samą klasę, tylko jeden może wygrać. Sprawdź katalog override/classes/.
Najczęstsze konflikty
- Moduły płatności – konflikty w hooku
displayPayment - Moduły SEO – konflikty w meta tagach i canonical URL
- Moduły koszyka – konflikty w
ActionCartSave - Moduły wysyłki – konflikty w kalkulacji kosztów
Rozwiązanie
W zależności od przyczyny konfliktu rozwiązania są różne:
- Zmiana kolejności modułów w hooku
- Modyfikacja override jednego z modułów
- Zastąpienie jednego modułu innym
- Napisanie własnego override który łączy funkcje obu modułów