PrestaShop 9.1 nadchodzi: Hummingbird 2.0, wysyłka wielooperatorowa i dlaczego warto migrować właśnie teraz
PrestaShop 9.1 jest tuż za rogiem. RC1 zostało wydane 5 marca, milestone na GitHubie jest prawie zamknięty, a stabilna wersja spodziewana jest lada dzień. To nie jest drobna łatka — to najbardziej znacząca aktualizacja od czasu, gdy 9.0 zastąpiło Symfony 4.4 wersją 6.4 LTS w zeszłym roku.
🎉 AKTUALIZACJA — 24 marca 2026: PrestaShop 9.1.0 został oficjalnie wydany! Stabilna wersja pojawiła się 23 marca 2026 — potwierdzając wszystko, co opisaliśmy poniżej. Hummingbird 2.0 jest teraz domyślnym motywem, wysyłka wielooperatorowa i przeprojektowany system zniżek są dostępne za flagami funkcji, a PHP 8.1–8.5 jest w pełni wspierane. Pobierz ze strony prestashop.com/versions lub ze strony wydań na GitHubie. Wszystkie moduły mypresta.rocks mają potwierdzoną kompatybilność z wersją 9.1.0.
Jeśli czekałeś na odpowiedni moment, żeby zaktualizować starszą wersję PrestaShop, 9.1 jest przekonującym argumentem. Oto wszystko, co musisz wiedzieć — od głównych funkcji, przez listy kontrolne migracji, po typowe pułapki, które sami napotkaliśmy.
Hummingbird 2.0 — nowy domyślny motyw
Największa widoczna zmiana: Hummingbird jest teraz domyślnym motywem dla wszystkich nowych instalacji. Oryginalny Hummingbird trafił do PrestaShop 9.0 jako opcjonalny nowoczesny motyw. Wersja 2.0 to kompletna przebudowa:
- Bootstrap 5.3.3 — zamiast wersji alfa używanej w Hummingbird 1.x. Oznacza to właściwą obsługę trybu ciemnego, ulepszone narzędzia i stabilne API dla motywów potomnych.
- Ponad 95% zgodności z EAA — Europejski Akt Dostępności wchodzi w życie w czerwcu 2025. Hummingbird 2.0 jest zbudowany z myślą o dostępności od podstaw: właściwe etykiety ARIA, nawigacja klawiaturą, proporcje kontrastu kolorów i obsługa czytników ekranu.
- jQuery oficjalnie przestarzałe — jQuery jest wciąż obecne, ale oznaczone do usunięcia w PrestaShop 10. Jeśli budujesz nowe moduły lub motywy, pisz w vanilla JavaScript już teraz.
- Nowe konwencje JS —
data-ps-ref,data-ps-action,data-ps-targetzastępują arbitralne selektory CSS dla powiązań JavaScript. Dzięki temu motywy są bardziej odporne na zmiany CSS. - Nowe hooki — dodano
displayOrderDetailidisplayModalContent. UsuniętodisplaySearch.
Jeśli korzystasz z motywu Classic na 1.7 lub 8.x, to znaczący skok naprzód zarówno pod względem wydajności, jak i łatwości utrzymania. Motywy potomne dla Hummingbird 2.0 są proste do utworzenia — opisaliśmy ten proces w naszym przewodniku po motywach potomnych.
Co się zmieniło z Hummingbird 1.x na 2.0
Jeśli już zbudowałeś motyw potomny dla oryginalnego Hummingbird, oto co musisz zaktualizować:
- Migracja klas CSS — Bootstrap 5.3 przemianował kilka klas narzędziowych.
ml-*imr-*stają sięms-*ime-*.data-togglestaje siędata-bs-toggle..custom-controlstaje się.form-check. Jeśli Twój motyw potomny nadpisuje którekolwiek z nich, zaktualizuj je. - Selektory JavaScript — stara konwencja celowania w elementy po klasie CSS (
.product-add-to-cart) jest zastępowana atrybutamidata-ps-ref. JavaScript modułów oparty na selektorach klasowych powinien być stopniowo migrowany. - System kolorów — Bootstrap 5.3 używa właściwości niestandardowych CSS bardziej intensywnie. Nadpisywanie kolorów wyłącznie przez zmienne
:rootmoże nie działać dla komponentów, które kompilują własne wartości. Możesz potrzebować nadpisań na poziomie komponentu, jak.btn-primary { --bs-btn-bg: #twojkolor; }.
Wysyłka wielooperatorowa — nareszcie
To była jedna z najczęściej żądanych funkcji w historii PrestaShop. Zamówienia mogą teraz mieć wiele przesyłek z różnymi przewoźnikami.
W każdej wersji PrestaShop do 9.0 jedno zamówienie oznaczało jednego przewoźnika. Jeśli klient zamówił mały przedmiot i gabaryty, które wysyłane są inaczej, musiałeś sobie z tym radzić — dzielić zamówienia ręcznie, używać niestandardowych modułów lub po prostu wybrać jednego przewoźnika i jakoś to rozwiązać.
PrestaShop 9.1 wprowadza przypisanie przewoźnika na poziomie przesyłki:
- Podziel zamówienie na wiele przesyłek, każdą z własnym przewoźnikiem i numerem śledzenia
- Scalaj przesyłki z powrotem, jeśli plany się zmienią
- Śledź każdą przesyłkę niezależnie przez cykl życia zamówienia
- Różne daty dostawy i statusy dla każdej przesyłki
Ta funkcja jest dostępna za flagą funkcji i API może ewoluować w przyszłych wersjach, ale fundament jest solidny. Dla sklepów sprzedających mieszane typy produktów (meble + akcesoria, sprzęt + materiały eksploatacyjne), to usuwa ogromny ból operacyjny.
Jeśli prowadzisz sklep, w którym różne produkty wysyłane są z różnych magazynów lub przez różnych kurierów — DHL dla małych paczek, transport ciężarowy dla dużych przedmiotów — to jest aktualizacja, na którą czekałeś.
Przeprojektowany system zniżek
Starszy system reguł koszyka został zastąpiony czystszą architekturą. Nowy system zniżek wprowadza cztery odrębne typy:
- Zniżki katalogowe — stosowane do produktów, zanim trafią do koszyka
- Zniżki koszykowe — stosowane przy kasie na podstawie warunków
- Darmowa wysyłka — jako samodzielny typ zniżki, nie flaga reguły koszyka
- Darmowy prezent — automatyczne dodawanie produktów do koszyka
To również jest za flagą funkcji i domyślnie wyłączone w 9.1. Stare reguły koszyka nadal działają. Ale nowy system jest znacznie łatwiejszy w zarządzaniu i bardziej wydajny — jeśli kiedykolwiek widziałeś sklep z 500+ regułami koszyka spowalniający się do żółwiego tempa, wiesz dlaczego to ma znaczenie.
Rozdzielenie na odrębne typy sprawia też, że raportowanie jest jaśniejsze. Możesz dokładnie zobaczyć, ile przychodu straciłeś na darmowej wysyłce w porównaniu ze zniżkami procentowymi, bez analizowania monolitycznego logu reguł koszyka.
Ulepszenia dla programistów
Poza głównymi funkcjami, 9.1 zawiera wiele ulepszeń skierowanych do programistów:
- Nowe hooki:
actionModuleEnable,actionModuleDisable,actionModuleUpgradeAfter,actionConfigurationUpdateValueBefore - Nowe komendy CLI:
prestashop:thumbnails:regenerate,prestashop:search:index,prestashop:module:export-translations - Ulepszenia auto-mapowania Doctrine dla encji modułów
- Obsługa PHP od 8.1 do 8.4 (kompatybilność z 8.5 jest testowana)
- Zaktualizowane stawki VAT dla Estonii i Rumunii
- Biblioteki D3 i NVD3 zaktualizowane — widgety dashboardu mogą wymagać testowania
- Motyw Classic zaktualizowany do wersji 3.1.1 dla sklepów, które nadal go używają
Hook actionModuleUpgradeAfter jest szczególnie przydatny dla twórców modułów — pozwala uruchamiać logikę po aktualizacji (czyszczenie cache, migracja konfiguracji) niezawodnie, bez polegania na tym, że własne skrypty aktualizacji modułu zostaną wywołane we właściwej kolejności.
Nowe komendy CLI eliminują typowe zadania administracyjne, które wcześniej wymagały klikania po back office. Sama komenda prestashop:thumbnails:regenerate zaoszczędzi czas wdrożenia dla sklepów zarządzających zdjęciami produktów przez skrypty lub pipeline'y CI/CD.
Dlaczego 9.1 to najlepszy cel migracji
Dostajemy to pytanie ciągle: „Jestem na PrestaShop 1.6 (lub 1.7, lub 8.x) — powinienem aktualizować teraz czy czekać?"
Nasza odpowiedź przez ostatni rok brzmiała „poczekaj na 9.1". Oto dlaczego:
Jeśli jesteś na PrestaShop 1.6
Korzystasz z oprogramowania, którego wsparcie zakończyło się w październiku 2023. Bez łatek bezpieczeństwa, bez aktualizacji kompatybilności, bez wsparcia modułów. PHP 7.x również zbliża się do końca życia u większości dostawców hostingu. Każdy miesiąc czekania zwiększa ryzyko bezpieczeństwa i ostateczny koszt migracji.
PS 9.1 na Symfony 6.4 LTS daje Ci platformę wspieraną do 2027+. Skok jest duży, ale z czasem staje się tylko większy.
Czego oczekiwać: Migracja 1.6 → 9.1 to zasadniczo przebudowa. Twoje dane (produkty, klienci, zamówienia) można zmigrować, ale motyw trzeba będzie zbudować od nowa (motyw potomny Hummingbird 2.0 lub nowy motyw), a większość modułów będzie wymagać zastępników. Planuj 2-6 tygodni w zależności od złożoności sklepu.
Kluczowe kroki:
- Skonfiguruj czystą instalację PrestaShop 9.1 na serwerze stagingowym
- Wyeksportuj katalog produktów, bazę klientów i historię zamówień z 1.6
- Zaimportuj dane do 9.1 za pomocą narzędzi importu lub bezpośrednich skryptów migracji bazy danych
- Zainstaluj i skonfiguruj moduły — testuj każdy osobno
- Zbuduj lub dostosuj motyw (zacznij od motywu potomnego Hummingbird 2.0)
- Skonfiguruj przekierowania 301 ze starych URL-i na nową strukturę URL
- Testuj dokładnie: proces zakupu, bramki płatności, obliczenia wysyłki, powiadomienia e-mail
- Zaplanuj zmianę DNS na okres niskiego ruchu
Jeśli jesteś na PrestaShop 1.7
1.7 była wersją „przejściową" — pół legacy, pół Symfony. Wiele modułów i motywów zostało zaprojektowanych wokół jej hybrydowej architektury. PS 9.1 dokańcza migrację Symfony, którą rozpoczęło 1.7. Admin jest w pełni oparty na Symfony, API jest nowoczesne (API Platform), a warstwa motywów wreszcie ma właściwy, dostępny domyślny motyw.
Kompatybilność modułów jest dobra. Większość dobrze utrzymywanych modułów obsługuje już ścieżkę 1.7 → 9.x. Wysiłek jest umiarkowany, a zwrot znaczący.
Czego oczekiwać: PrestaShop udostępnia moduł Update Assistant (dawniej autoupgrade) do aktualizacji w miejscu. Dla 1.7 → 9.1 jest to rekomendowana ścieżka. Jednak zdecydowanie zalecamy testowanie na kopii stagingowej — nigdy nie aktualizuj bezpośrednio produkcji.
Typowe problemy w aktualizacjach 1.7 → 9.1:
- Pliki override — jeśli masz nadpisania PHP w
override/classes/, mogą kolidować z nową architekturą Symfony. Przejrzyj każde z nich i rozważ zastąpienie hookami lub alternatywami opartymi na modułach. - Przestarzałe funkcje —
Tools::displayPrice()zostało usunięte.AdminController::ajaxDie()zostało usunięte. Jeśli Twoje niestandardowe moduły ich używają, wymagają aktualizacji. - Kompatybilność motywów — motywy oparte na Classic z 1.7 generalnie działają na 9.x, ale mogą mieć wizualne dziwactwa. Motywy Hummingbird z 1.x wymagają migracji Bootstrap wspomnianej powyżej.
- Wersja PHP — PS 9.1 wymaga minimum PHP 8.1. Jeśli Twój hosting wciąż jest na 7.4 lub 8.0, najpierw zaktualizuj PHP.
Jeśli jesteś na PrestaShop 8.x
To najłatwiejsza ścieżka aktualizacji. PS 8 do 9 to był skok Symfony 4.4 → 6.4 z nowym API admina. PS 9.0 do 9.1 to płynna inkrementalna aktualizacja. Jeśli Twoje moduły są już kompatybilne z 9.0, 9.1 powinno działać z minimalnym testowaniem.
Główne powody do aktualizacji: Hummingbird 2.0 jest lepszym motywem niż Classic, wysyłka wielooperatorowa rozwiązuje realne problemy operacyjne i dostajesz bieżące aktualizacje bezpieczeństwa i wydajności.
Czego oczekiwać: Użyj modułu Update Assistant. Ścieżka 8.x → 9.1 jest dobrze przetestowana. Główne obszary do weryfikacji po aktualizacji: dostosowania admina (API admina zmieniło się w 9.0), moduły hookujące się w proces zamówienia (zmiany wielooperatorowe zmieniają model obiektu zamówienia) i widgety dashboardu (aktualizacja biblioteki D3).
Perspektywa długoterminowa
PrestaShop 10 jest na horyzoncie. jQuery zostanie całkowicie usunięte. Admin będzie kontynuował modernizację Symfony. Kasa jednoetapowa, której sprzedawcy chcieli od lat, ma pierwszy kod scalony i jest celowana na przyszłe wydanie minor. Funkcjonalność B2B jest również wbudowywana w rdzeń.
PS 9.1 na Symfony 6.4 LTS to najbardziej stabilna, nowoczesna i przyszłościowa wersja PrestaShop dostępna dziś. Migracja teraz oznacza, że jesteś na platformie, która będzie otrzymywać łatki bezpieczeństwa, nowe funkcje i uwagę społeczności przez kolejne lata. Pozostanie na 1.6 lub 1.7 oznacza, że jesteś na platformie, która jest już niewspierana.
Lista kontrolna migracji
Niezależnie od wersji startowej, oto uniwersalna lista kontrolna do migracji na PrestaShop 9.1:
- Audytuj swój obecny sklep — wymień wszystkie moduły, dostosowania motywu, nadpisania i integracje (bramki płatności, ERP, API wysyłkowe)
- Sprawdź kompatybilność modułów — skontaktuj się z każdym twórcą modułu lub sprawdź dokumentację pod kątem wsparcia 9.x. Zastąp niewspierane moduły przed aktualizacją.
- Skonfiguruj środowisko stagingowe — sklonuj bazę danych i pliki produkcyjne na osobny serwer. Nigdy nie testuj na produkcji.
- Zaktualizuj PHP — PS 9.1 wymaga PHP 8.1+. Rekomendujemy 8.2 lub 8.3 dla najlepszego balansu wydajności i kompatybilności.
- Uruchom Update Assistant — dla sklepów 1.7+ użyj oficjalnego modułu aktualizacji PrestaShop. Dla 1.6 zrób czystą instalację i zmigruj dane.
- Przetestuj każdą ścieżkę zakupową — złóż testowe zamówienia z każdą metodą płatności i opcją wysyłki. Zweryfikuj, czy powiadomienia e-mail są wysyłane poprawnie.
- Sprawdź strukturę URL — upewnij się, że Twoje SEO-friendly URL-e są zachowane. Skonfiguruj przekierowania 301 dla wszelkich URL-i, które się zmieniły.
- Zweryfikuj OPcache — po wdrożeniu zresetuj OPcache przez żądanie webowe (nie CLI). To typowa pułapka powodująca problemy z „białym ekranem" po aktualizacji.
- Monitoruj przez 48 godzin — uważnie obserwuj logi błędów, współczynniki konwersji kasy i czasy ładowania stron po uruchomieniu.
Typowe pułapki migracji
Pomogliśmy dziesiątkom sklepów migrować między wersjami PrestaShop. Oto problemy, które najczęściej zaskakują ludzi:
- Pliki override psujące się po cichu — system nadpisań PrestaShop ładuje
override/classes/Foo.phpzamiastclasses/Foo.php. Przestarzałe nadpisanie może zepsuć funkcjonalność bez widocznego błędu. Zawsze przejrzyj i usuń niepotrzebne nadpisania przed aktualizacją. - OPcache serwujący stary kod — po wgraniu nowych plików serwer webowy może nadal serwować zbuforowany bajtkod ze starej wersji. Zawsze resetuj OPcache przez skrypt PHP dostępny przez web, nie przez CLI (mają osobne pule cache).
- Brakujące kolumny w bazie danych — niestandardowe moduły dodające kolumny do tabel rdzeniowych mogą kolidować ze zmianami schematu w 9.1. Sprawdź SQL aktualizacji (
upgrade/sql/9.1.0.sql) wobec swoich niestandardowych modyfikacji schematu. - Webhooki bramek płatności — jeśli zmienisz domenę lub strukturę URL podczas migracji, zaktualizuj URL-e webhooków u Stripe, PayPal i innych dostawców płatności. Przeoczone webhooki oznaczają przeoczone potwierdzenia zamówień.
- Zadania cron wskazujące na stare ścieżki — PrestaShop 9.x zmienił niektóre punkty wejścia cron. Zweryfikuj, czy wszystkie zaplanowane zadania nadal działają po aktualizacji.
- Szablony e-mail — PS 9.x używa innego silnika szablonów e-mail. Niestandardowe szablony e-mail z 1.7 mogą nie renderować się poprawnie. Przetestuj wszystkie e-maile transakcyjne.
Wydajność: czego oczekiwać
PrestaShop 9.1 na Symfony 6.4 jest mierzalnie szybszy od starszych wersji z kilku powodów:
- Kompilacja kontenera Symfony 6.4 — kontener wstrzykiwania zależności kompiluje się wydajniej, redukując czas startu.
- Waga front-endu Hummingbird 2.0 — nowy motyw dostarcza mniej CSS i JavaScript niż Classic. Z przestarzałym jQuery całkowity payload JS jest mniejszy na świeżych instalacjach.
- Kompilacja JIT PHP 8.x — jeśli migrujesz ze środowiska PHP 7.x, sam kompilator JIT PHP 8 zapewnia 10-30% poprawę wydajności dla typowych obciążeń PrestaShop.
- Ulepszone buforowanie — cache HTTP Symfony 6.4 i buforowanie zapytań Doctrine są dojrzalsze niż odpowiedniki 4.4 używane w starszych wersjach PS.
Na naszym własnym środowisku testowym sklep PrestaShop 9.1 z 5000 produktów serwuje strony kategorii w ~120ms (TTFB) w porównaniu z ~250ms na tym samym sprzęcie z 1.7 i motywem Classic. Twoje wyniki będą się różnić w zależności od hostingu, modułów i konfiguracji — ale kierunek jest jasny.
Co z naszymi modułami?
Wszystkie moduły mypresta.rocks są testowane z PrestaShop 9.1. Używamy 9.x wewnętrznie od wersji beta. Nasze moduły obsługują PrestaShop od 1.7 do 9.1 z jedną bazą kodu — bez osobnych wersji, bez forków kompatybilności.
Kilka konkretnych uwag o kompatybilności z 9.1:
- Kontrolery admina — nasze moduły używają współdzielonego frameworka admina, który automatycznie obsługuje opakowanie Symfony. Nawigacja zakładkami nadrzędnymi, breadcrumby i pasek boczny działają poprawnie w nowym układzie admina.
- Tłumaczenia — używamy
$this->module->l(), które działa na wszystkich wersjach PS. Usunięte$this->l()w kontrolerach admina nie wpływa na nasze moduły. - Formatowanie cen — obsługujemy usunięcie
Tools::displayPrice()za pomocą helpera kompatybilnego wstecznie, który używa nowoczesnego formatera opartego na locale na 9.x i fallbackuje na starszych wersjach.
Jeśli planujesz migrację i chcesz najpierw przetestować nasze moduły, pobierz darmowe 30-dniowe demo dowolnego modułu i wypróbuj na swoim środowisku stagingowym. Oferujemy również konsulting migracyjny, jeśli potrzebujesz bezpośredniej pomocy.
Najczęściej zadawane pytania
Czy mogę pominąć PrestaShop 8 i przejść bezpośrednio z 1.7 na 9.1?
Tak. Update Assistant obsługuje bezpośrednie aktualizacje z 1.7.x do 9.x. Nie musisz instalować 8.x jako kroku pośredniego. Upewnij się jednak, że wszystkie Twoje moduły są kompatybilne z 9.x przed aktualizacją.
Czy mój motyw Classic nadal będzie działać na 9.1?
Tak. Motyw Classic jest zaktualizowany do wersji 3.1.1 w PS 9.1. Nie jest już domyślnym dla nowych instalacji, ale pozostaje w pełni wspierany. Jeśli Twój sklep używa motywu potomnego Classic, powinien nadal działać z drobnymi korektami.
Czy funkcja wielooperatorowa jest gotowa do produkcji?
Jest dostępna za flagą funkcji, co oznacza, że PrestaShop uważa ją za wystarczająco stabilną do użycia produkcyjnego, ale zastrzega sobie prawo do zmiany API w przyszłych wersjach. Jeśli wysyłka wielooperatorowa jest kluczowa dla Twojego biznesu, włącz flagę funkcji i dokładnie przetestuj na stagingu przed uruchomieniem na produkcji.
Jakiej wersji PHP powinienem użyć?
Rekomendujemy PHP 8.2 lub 8.3. PHP 8.1 to minimalne wymaganie. PHP 8.4 jest wspierane. Kompatybilność z PHP 8.5 jest testowana, ale jeszcze nie potwierdzona oficjalnie.
Ile czasu zajmuje typowa migracja?
Zależy całkowicie od punktu startowego i złożoności sklepu. Prosta aktualizacja 8.x → 9.1 może być zrobiona w jedno popołudnie. Aktualizacja 1.7 → 9.1 z 20+ modułami zazwyczaj zajmuje 1-2 tygodnie testowania. Migracja 1.6 → 9.1 z przebudową motywu może zająć 2-6 tygodni. Planuj czas na testowanie — sam proces aktualizacji jest szybki, ale weryfikacja, że wszystko działa poprawnie, zajmuje większość wysiłku.
Powinienem czekać na stabilną wersję czy zacząć przygotowania teraz?
Zacznij przygotowania teraz. Skonfiguruj środowisko stagingowe, zaudytuj moduły i przetestuj z RC1. Gdy wyjdzie stabilna wersja, będziesz gotowy do szybkiego uruchomienia zamiast zaczynać od zera.
EO2S — pierwszy Ecommerce Open Source Summit
Jeszcze jedna rzecz: PrestaShop organizuje Ecommerce Open Source Summit (EO2S) 26 marca 2026 w Paryżu. To pierwsza tego typu impreza — łącząca społeczność PrestaShop, twórców modułów i sprzedawców. Jeśli jesteś w ekosystemie, warto wziąć udział.
Podsumowanie
PrestaShop 9.1 to nie rewolucja — 9.0 było rewolucją (Symfony 6.4, nowe API admina, nowoczesna architektura). 9.1 to wersja, która czyni fundament 9.0 praktycznym i dopracowanym: gotowy do produkcji nowoczesny motyw, elastyczność wysyłki, której potrzebują sprzedawcy, i czystszy system zniżek.
Niezależnie czy jesteś na 1.6, 1.7 czy 8.x — to jest wersja warta migracji. Im dłużej czekasz, tym większa staje się przepaść i tym droższa będzie ewentualna migracja. PrestaShop 9.1 daje Ci nowoczesną, wspieraną i przyszłościową platformę, która poniesie Twój sklep przez kolejnych kilka lat.
Jeśli czekałeś, czekanie się skończyło. To jest wersja, do której warto celować.
Komentarze
Brak komentarzy. Bądź pierwszy!
Zostaw komentarz