Written by on

Aktualizacja do PrestaShop 9 oznacza, ze moduly moga wymagac aktualizacji. Przejscie na Symfony 6.4 i PHP 8.1+ sprawia, ze wiele starszych modulow moze nie dzialac.

Dlaczego moduły Break on * M19 * 9?

* M19 * 9 wprowadziła kilka przełomowych zmian, które wpływają na kompatybilność modułu:

  • * P0 * - wiele kontrolerów back office zostało przepisanych. Moduły, które nadrabiają dotychczasowe sterowniki administratora, przełamią się.
  • * P0 * - moduły wykorzystujące zdepregatowane * M43 * 7.x funkcje wywołają błędy.
  • * P0 * - szablony back office zostały przekształcone z * M26 * do * M32 * w wielu obszarach.
  • * P0 * - niektóre stare haki zostały zdeprecjonowane lub usunięte.
  • * P0 * - nowy Admin API używa innego modelu uwierzytelniania (* M27 *).

Jak sprawdzić czy moduł jest * M19 * 9 Kompatybilny

  1. * P0 * - szukaj "* M19 * 9" lub "PS 9" na liście zgodności
  2. * P0 * - zainstalować moduł na PS9 i przetestować wszystkie funkcje
  3. * P0 * - szukaj zdepregowanych funkcji, zaległości kontrolera i * M43 * 7.x składnia
  4. * P0 * - zapytaj autora modułu o linię wsparcia PS9

* M19 * 9 Kompatybilne moduły * M21 *

ModułPS 1.7PS 8PS 9Stan
* P0 *Tak.Tak.Tak.Aktualizacja
* P0 *Tak.Tak.Tak.Aktualizacja
* P0 *-Tak.Tak.Aktualizacja
* P0 *Tak.Tak.WkrótceW toku
* P0 *Tak.Tak.WkrótceW toku
* P0 *Tak.Tak.WkrótceW toku
* P0 *Tak.Tak.WkrótceW toku

Common Module Issues on * M19 * 9

1. Przekroczenie uprawnienia kontrolera

Jeżeli moduł jest nadstawiony przez kontroler administratora (np. AdminOrdersController), nie będzie działać, ponieważ PS9 używa * M23 * sterowników dla większości stron administratora. Moduł musi być uaktualniony, aby używać * M23 * -kompatybilnych haczyków lub * M33 * poleceń.

2. * M26 * Template Dependences

Moduły modyfikujące szablony back office za pomocą plików * M26 * .tpl mogą złamać się w obszarach, w których PS9 migrował do * M32 *. Przednie biuro * M26 * szablony nadal pracują z tematem * M22 *, ale nie z nowym tematem * M15 *.

3. * M43 * Kompatybilność

Common * M43 * 8.x kwestie obejmują: zdeprecjonowane właściwości dynamiczne, bardziej rygorystyczne sprawdzanie typu i usunięte funkcje, takie jak mysql _ * (należy stosować ChNP).

Potrzebujesz pomocy?

Jeśli planujesz migrację * M19 * 9 i potrzebujesz porady kompatybilności modułu, przeczytaj nasze * P0 * lub sprawdź nasze * P1 *.

Jak Declare * M19 * 9 Kompatybilność w Twoim module

Jeżeli opracowujesz moduły * M19 *, musisz zaktualizować deklarację zgodności w swoim kodzie modułu:

// In your module main PHP file
public $ps_versions_compliancy = [
    "min" => "8.0.0",
    "max" => "9.99.99"
];

Aktualizuj również swój plik * P0 *:

<compatibility>
  <min>8.0.0</min>
  <max>9.99.99</max>
</compatibility>

Jak przetestować moduł na * M19 * 9

  1. * P0 * przy użyciu Docker lub XAMPP z * M43 * 8.3
  2. * P0 * via the back office module uploader
  3. * P0 * at * P1 * lub włączyć tryb PS debug: set * P2 * to * P3 * in * P4 *
  4. * P0 * - zainstalować, skonfigurować, wyświetlać front office, dezaktywować
  5. * P0 * do łapania ostrzeżeń o deprecjacji
  6. * P0 * if your module addings front office elements

Tabela zgodności modułu * M21

ModułPS 1.7PS 8PS 9* M43 * 8.3Uwagi
* P0 *Pełna aktualizacja
* P0 *Pełna aktualizacja
* P0 *Pełna aktualizacja
* P0 *WkrótceAktualizacja w toku
* P0 *WkrótceAktualizacja w toku
* P0 *WkrótceAktualizacja w toku
* P0 *WkrótceAktualizacja w toku

* M19 * 9 Moduł Kontrola zgodności

SprawdźCo szukać
* M43 * 8.1 + składniaBrak zdeprecjonowanych funkcji, brak właściwości dynamicznych bez deklaracji
Brak zaległości administratoraModuł nie obejmie AdminOrdersController, AdminProductsController itp.
* M23 * - kompatybilne hakiUżywa actionXxx i dysplayXxx haki, nie stare haki spuścizny
* M26 * vs * M32 *W porządku. Back office: must be * M32 * for PS9 pages
Webservice vs Admin APILegacy Webservice nadal działa; Admin API preferowane dla nowych integracji
Zależności od kompozytoraWszystkie pakiety sprzedaży wsparcia * M43 * 8.1 +

Często zadawane pytania

Czy wszystkie moduły * M19 * 8 działają na PS9?

Nie automatycznie. Moduły, które tylko dodają funkcjonalność frontowego biura (banery, wyskakujące, elementy strony produktu) zazwyczaj działają bez zmian. Moduły, które nadrabiają sterowniki admin lub używać deprecated * M43 * 7.x funkcje będą wymagały aktualizacji.

Gdzie mogę sprawdzić zgodność modułu?

Sprawdź listę modułów na stronie * P0 * - każdy moduł pokazuje kompatybilne wersje PS. Przed modernizacją produkcji zawsze weryfikuj na miejscu.

Co się stanie, jeśli zainstaluję niekompatybilny moduł na PS9?

* M19 * zazwyczaj pokazuje ostrzeżenie zgodności. W najgorszych przypadkach moduł może spowodować śmiertelny błąd * M43 *. Włącz tryb debugowania przed testowaniem niekompatybilnych modułów i zawsze miej gotowe kopię zapasową.