- Przygotowanie i wymagania wstępne
- Sprawdź wersję sklepu i zgodność modułu
- Wybór źródła: Addons Marketplace, dostawcy zewnętrzni, własny moduł
- Uprawnienia administratora i kopia zapasowa
- Środowisko testowe i tryb debug
- Weryfikacja bezpieczeństwa i integralności plików
- Instalacja z poziomu panelu administracyjnego
- Instalacja z katalogu modułów/Addons w panelu
- Przesyłanie własnej paczki ZIP
- Wstępna konfiguracja po instalacji
- Pozwolenia, licencje i aktualizacje
- Najczęstsze problemy podczas instalacji panelowej
- Instalacja ręczna i zaawansowana
- Instalacja przez FTP/SFTP
- Uprawnienia plików i właściciel
- Moduły wymagające Composer i budowania frontu
- Instalacja i zarządzanie przez konsolę
- Wyczyszczanie cache i odświeżanie kompilacji
- Konfiguracja, pozycjonowanie w hookach i tłumaczenia
- Odnalezienie modułu i podstawowa konfiguracja
- Pozycje i hooki – gdzie moduł ma działać
- Szablony i nadpisania
- Tłumaczenia tekstów modułu
- Konfiguracja w trybie multistore
- Wydajność i wpływ na UX
- Wyłączenie, odinstalowanie i czyszczenie danych
- Rozwiązywanie problemów i dobre praktyki
- Typowe komunikaty błędów i przyczyny
- Diagnostyka: logi, debug i testy regresyjne
- Zgodność z wersjami PHP/MySQL i motywem
- Procedura rollbacku i odzyskiwanie sklepu
- Lista kontrolna przed wdrożeniem na produkcję
Dodawanie nowych funkcji do sklepu opartego na PrestaShop najczęściej odbywa się poprzez instalację modułów. Dzięki nim rozszerzysz płatności, integracje, marketing i wygląd bez ingerencji w kod bazowy. Poniższa instrukcja prowadzi krok po kroku przez wszystkie sposoby instalacji: z katalogu Addons, z paczki ZIP, ręcznie przez FTP oraz metodami zaawansowanymi. Zwracamy uwagę na kompatybilność, bezpieczeństwo, pracę na środowisku testowym i zarządzanie cache, a także pozycjonowanie w hooki i tryb multistore.
Przygotowanie i wymagania wstępne
Sprawdź wersję sklepu i zgodność modułu
Zanim zainstalujesz cokolwiek, ustal dokładną wersję sklepu (np. 1.6.x, 1.7.x, 8.x) i wersję PHP. W panelu administracyjnym wejdź w Zaawansowane – Informacje, aby zweryfikować środowisko. Producent modułu zwykle deklaruje, z jakimi wersjami działa. Jeśli masz PrestaShop 8, wybieraj rozszerzenia testowane pod tę gałąź. Niezgodność wersji bywa najczęstszą przyczyną białej strony, błędów 500 i konfliktów z innymi komponentami.
Wybór źródła: Addons Marketplace, dostawcy zewnętrzni, własny moduł
Najbezpieczniej korzystać z oficjalnego katalogu PrestaShop Addons, gdzie weryfikowana jest jakość i kompatybilność. Moduły od zewnętrznych firm (GitHub, prywatne repozytoria, strony producentów) instaluj po weryfikacji opinii, dokumentacji i historii wydań. Własne moduły (tworzone na zamówienie) testuj na kopii sklepu i zgodnie z wytycznymi PSR-12 oraz standardem hooków.
Uprawnienia administratora i kopia zapasowa
Do instalacji wymagane są uprawnienia SuperAdmin lub odpowiednie Role z dostępem do katalogu Moduły. Przed zmianami wykonaj kopię bazy danych i plików (pełne backupy). Jeżeli masz dostęp do panelu hostingowego, skorzystaj z migawkowych snapshotów lub zaplanuj punkt przywracania. W PrestaShop 1.7/8 rozważ użycie środowiska staging lub subdomeny testowej, aby najpierw sprawdzić instalację bez ryzyka.
Środowisko testowe i tryb debug
Włącz tryb debug tylko na środowisku testowym: Zaawansowane – Wydajność – Tryb debugowania. Pozwoli to zobaczyć pełne komunikaty błędów, stack trace i konflikty z override’ami. Na produkcji debug powinien być wyłączony, aby nie ujawniać poufnych danych oraz nie spowalniać sklepu.
Weryfikacja bezpieczeństwa i integralności plików
Sprawdź sumy kontrolne, podpisy wydawcy oraz to, czy paczka nie zawiera plików wykonywalnych poza obszarem modułu. Zwróć uwagę na uprawnienia plików po rozpakowaniu. Unikaj instalacji modułów z niesprawdzonych źródeł — to niepotrzebne ryzyko dla bezpieczeństwo i wydajności sklepu.
Instalacja z poziomu panelu administracyjnego
Instalacja z katalogu modułów/Addons w panelu
W PrestaShop 1.7/8 wejdź w Moduły i Usługi – Katalog. Wpisz nazwę funkcji (np. „płatności BLIK”) lub nazwę modułu. Przy pozycji zaufanego wydawcy kliknij Zainstaluj, a następnie Potwierdź. Jeśli moduł jest płatny i powiązany z Twoim kontem Addons, najpierw zaloguj się w panelu do konta Addons, aby powiązać licencję i pobieranie. Po instalacji pojawi się przycisk Konfiguruj — przejdź do ustawień.
Przesyłanie własnej paczki ZIP
Gdy masz gotowy plik ZIP od producenta, przejdź do Moduły i Usługi – Zarządzaj modułami – Prześlij moduł (Upload a module). Przeciągnij plik lub wybierz z dysku. System rozpakowuje paczkę, umieszcza ją w katalogu /modules i rejestruje w bazie. Po sukcesie zobaczysz komunikat o instalacji i przycisk Konfiguruj. Jeśli pojawi się błąd rozpakowywania, sprawdź limit upload_max_filesize, post_max_size i maksymalny czas wykonywania w PHP.
Wstępna konfiguracja po instalacji
Tuż po instalacji wiele modułów uruchamia kreator konfiguracji. Uzupełnij klucze API, dane logowania do usług zewnętrznych, ustawienia walut, krajów, stref podatkowych. Zweryfikuj domyślną walidację formularzy i widoczność w odpowiednich sklepach (jeśli korzystasz z kontekstu wielu sklepów). Po zapisaniu ustawień przetestuj działanie w koszyku, procesie zakupowym i na stronach, gdzie moduł coś wyświetla.
Pozwolenia, licencje i aktualizacje
Niektóre moduły wymagają połączenia z kontem Addons, by pobierać aktualizacje. W sekcji Moduły – Aktualizacje sprawdzaj dostępne wersje i dziennik zmian. Aktualizuj w oknie niskiego ruchu. Jeżeli moduł ma integrację z zewnętrzną platformą, sprawdź, czy nie wymaga akceptacji regulaminów lub whitelisting IP po stronie usługi (np. bramki płatności).
Najczęstsze problemy podczas instalacji panelowej
- Błąd 500 lub biała strona po instalacji – zwykle konflikt z innym modułem, brak kompatybilności z PHP albo nieudane migracje bazy. Włącz debug na stagingu i sprawdź logi.
- Komunikat o braku uprawnień do zapisu – katalog /modules lub /var/cache może mieć zbyt restrykcyjne prawa. Ustaw 755 na katalogach, 644 na plikach (zależnie od hostingu).
- Przerwane pobieranie – przekroczone limity PHP lub blokada firewalla. Zwiększ limity, ewentualnie zainstaluj moduł przez FTP.
- Moduł nie widoczny po instalacji – wyczyść pamięć podręczną i przebuduj assets, sprawdź aktywację pozostałych hooków.
Instalacja ręczna i zaawansowana
Instalacja przez FTP/SFTP
Skorzystaj z klienta FTP lub SFTP (zalecane). Rozpakuj paczkę modułu lokalnie. Prześlij folder modułu (nazwę techniczną, np. ps_facebook) do katalogu /modules na serwerze. Upewnij się, że struktura jest prawidłowa: /modules/nazwa_modułu/nazwa_modułu.php oraz pliki konfiguracyjne, szablony, zasoby. Po wysłaniu plików wejdź do panelu: Moduły i Usługi – Zarządzaj modułami, wyszukaj moduł i kliknij Zainstaluj. Jeśli moduł wymaga dodatkowych uprawnień, ustaw prawa do zapisu w katalogu jego zasobów (np. /modules/nazwa_modułu/views/img).
Uprawnienia plików i właściciel
Standardowo katalogi powinny mieć 755, pliki 644. Na hostingach z inną konfiguracją (FCGI/LSAPI) może być potrzebne 750/640. Najważniejsza jest zgodność właściciela plików z użytkownikiem procesu PHP, aby unikać problemów przy aktualizacjach. Nie ustawiaj 777 — to ryzyko bezpieczeństwa. Sprawdź, czy .htaccess w modułach nie nadpisuje globalnych reguł w niepożądany sposób.
Moduły wymagające Composer i budowania frontu
Coraz więcej modułów (szczególnie pod PrestaShop 8) korzysta z vendorów PHP i nowoczesnego frontendu. W takim przypadku na środowisku developerskim wykonaj composer install w katalogu modułu, a następnie npm install i npm run build (jeśli przewidziano). Zmiany przepchnij na serwer produkcyjny jako gotowy, zbudowany pakiet. Jeżeli hosting nie pozwala na Composer/NPM, poproś wydawcę o wersję z zebranymi zależnościami.
Instalacja i zarządzanie przez konsolę
W instalacjach opartych na PrestaShop 1.7/8 dostępne są polecenia bin/console (Symfony). Jeżeli środowisko je wspiera, możesz wykonać np. instalację modułu, jego włączenie lub wyłączenie. To przydaje się w automatyzacji CI/CD oraz podczas rozwiązywania problemów, gdy panel jest niedostępny. Pamiętaj, aby uruchamiać komendy w katalogu sklepu, z właściwym użytkownikiem systemu.
Wyczyszczanie cache i odświeżanie kompilacji
Po instalacji lub aktualizacji modułu wyczyść pamięć podręczną: Zaawansowane – Wydajność – Wyczyść pamięć podręczną. Jeśli korzystasz z systemów takich jak Redis, Varnish, CDN, wykonaj pełne odświeżenie. Upewnij się, że tryb „Force compilation” jest ustawiony właściwie w środowisku testowym. Często dopiero po odświeżeniu cache nowe szablony i zasoby CSS/JS zaczną się poprawnie wyświetlać.
Konfiguracja, pozycjonowanie w hookach i tłumaczenia
Odnalezienie modułu i podstawowa konfiguracja
W sekcji Moduły – Zarządzaj modułami znajdziesz wszystkie zainstalowane elementy. Użyj wyszukiwarki i filtrów (zainstalowane, nieaktywne, wymagające aktualizacji). Kliknij Konfiguruj i uzupełnij wszystkie pola: dostęp API, opcje wyglądu, mapowanie kategorii, reguły koszyka, waluty. Po każdej zmianie dokonaj testu ścieżki zakupowej w trybie incognito.
Pozycje i hooki – gdzie moduł ma działać
Wejdź w Wygląd – Pozycje i sprawdź, do jakich punktów zaczepienia przypięty jest moduł. Hooki (np. displayHeader, displayProductAdditionalInfo, displayFooter) determinują, w jakim miejscu szablonu pojawi się treść. Aby zmienić pozycję, użyj opcji Przeszczep modułu i wybierz docelowy hook. Pamiętaj, że nie każdy moduł wspiera wszystkie hooki — lista wspieranych jest w pliku głównym modułu (metoda install() i hooki zdefiniowane w klasie).
Szablony i nadpisania
Jeżeli moduł korzysta z Smarty/Twig, możesz dopasować jego wygląd. Zamiast ingerować bezpośrednio w pliki modułu, przygotuj nadpisanie w katalogu motywu (np. themes/twoj_motyw/modules/nazwa_modułu/…). Dzięki temu aktualizacje modułu nie nadpiszą Twoich zmian. Po modyfikacji szablonów pamiętaj o odświeżeniu cache i ponownym skompilowaniu zasobów.
Tłumaczenia tekstów modułu
W Międzynarodowe – Tłumaczenia wybierz tłumaczenia modułów, język i motyw. Odszukaj klucze związane z modułem, uzupełnij brakujące frazy i zapisz. Jeżeli moduł ładuje tłumaczenia dynamicznie, po zmianach wyczyść cache. Sprawdź, czy tłumaczenia nie zostały nadpisane przez aktualizację modułu; w razie potrzeby eksportuj je do plików, aby móc łatwo odtworzyć.
Konfiguracja w trybie multistore
Jeżeli używasz wielu sklepów, ustaw kontekst w prawym górnym rogu panelu. W trybie multistore każda konfiguracja może różnić się między sklepami: aktywność modułu, przypięcia do hooków, klucze API. Sprawdź, czy moduł obsługuje wielosklepowość. Jeśli nie, rozważ duplikację konfiguracji lub alternatywne rozwiązanie, które wspiera multistore natywnie.
Wydajność i wpływ na UX
Każdy moduł to dodatkowe zapytania i zasoby. Monitoruj czasy odpowiedzi (TTFB), liczbę żądań HTTP i wagę JS/CSS. Ograniczaj ładowanie na stronach, gdzie moduł nie jest potrzebny. Jeżeli moduł udostępnia lazy loading, warunkowe ładowanie skryptów lub tryb asynchroniczny — włącz je. Testuj w PageSpeed i Lighthouse, aby ocenić realny wpływ na konwersję.
Wyłączenie, odinstalowanie i czyszczenie danych
Jeśli musisz wyłączyć moduł, zrób to najpierw czasowo (Wyłącz), a dopiero potem odinstaluj. Odinstalowanie usuwa konfigurację (w zależności od modułu) i wpisy w bazie. Niektóre pozostawiają tabele lub dane raportowe — sprawdź dokumentację. Usuń nadpisania w motywie i pozostałości w /modules, jeśli deinstalator nie posprzątał wszystkiego.
Rozwiązywanie problemów i dobre praktyki
Typowe komunikaty błędów i przyczyny
- „Module cannot be loaded” — brak zgodności z wersją sklepu lub PHP, brak wymaganego rozszerzenia (np. intl, mbstring, fileinfo).
- „Zip extension not enabled” — do instalacji z paczki potrzebne jest rozszerzenie zip w PHP; włącz w php.ini lub przez panel hostingu.
- Błąd podczas aktualizacji — przerwany proces z powodu limitów czasu, zależności między modułami lub blokady plików. Rozważ aktualizację przez FTP i ręczne uruchomienie skryptów aktualizacyjnych, jeśli producent to umożliwia.
- Konflikt override — dwa moduły próbują nadpisać ten sam kontroler lub klasę. Ogranicz do jednego nadpisania lub użyj wersji zgodnej z Twoim motywem.
Diagnostyka: logi, debug i testy regresyjne
Włącz tryb debug na stagingu, przejrzyj var/logs oraz logi serwera (error_log). Sprawdź konsolę przeglądarki pod kątem błędów JS. Po instalacji nowego modułu wykonaj testy regresyjne: koszyk, rejestracja, logowanie, płatność, generowanie dokumentów (faktury), integracje ERP/WMS. Wykryte problemy reprodukuj krok po kroku, aby ułatwić zgłoszenie do wsparcia producenta.
Zgodność z wersjami PHP/MySQL i motywem
PrestaShop 8 preferuje wyższe wersje PHP niż 1.7; moduł musi być do nich dostosowany. Jeśli moduł intensywnie korzysta z bazy, zweryfikuj indeksy i zgodność typów. Upewnij się, że moduł wspiera Twój motyw — w tym nazwy hooków używane przez motyw oraz strukturę szablonów. W razie wątpliwości poproś wydawcę o listę wspieranych wersji i motywów.
Procedura rollbacku i odzyskiwanie sklepu
Przed aktualizacją zrób kopię zapasową. Gdy coś pójdzie nie tak: wyłącz moduł z poziomu bazy (ps_module – kolumna active), usuń jego wpisy w ps_hook_module, a następnie przywróć pliki i bazę z backupu. Na serwerach z dostępem do SSH możesz wycofać deploy (np. git revert). Po odzyskaniu sklepu przeanalizuj logi i plan aktualizacji w oknie mniejszego ruchu.
Lista kontrolna przed wdrożeniem na produkcję
- Spójność wersji: PrestaShop, PHP, baza, moduł.
- Backup plików i bazy, punkt przywracania.
- Test na stagingu: funkcjonalny i wydajnościowy.
- Konfiguracja licencji i kluczy API.
- Przypięcie do właściwych hooków i widoczność w kontekście sklepu.
- Wyczyszczony cache, przebudowane zasoby, odświeżony CDN.
- Plan aktualizacji i okno wdrożeniowe oraz monitorowanie po wdrożeniu.