Scritto da il

Aggiornare a PrestaShop 9 significa che i moduli esistenti potrebbero aver bisogno di aggiornamenti. Con Symfony 6.4 e PHP 8.1+, molti moduli legacy potrebbero non funzionare.

Perché i moduli si rompono su PrestaShop 9?

PrestaShop 9 ha introdotto diversi cambiamenti di rottura che influiscono sulla compatibilità del modulo:

  • Symfony 6.4 migrazione — molti controller back office sono stati riscritti. I moduli che superano i controller di amministrazione legacy si romperanno.
  • PHP 8.1+ requisito — i moduli che utilizzano le caratteristiche deprecate PHP 7.x attivano errori.
  • Twig modelli — modelli di ufficio posteriore sono stati convertiti da Smarty a Twig in molte aree.
  • Rimuovi i ganci legacy — alcuni vecchi ganci sono stati deprecati o rimossi.
  • Modifiche API — la nuova API Admin utilizza un modello di autenticazione diverso (OAuth).

Come controllare se un modulo è PrestaShop 9 Compatibile

  1. Controlla la descrizione del modulo — cercare "PrestaShop 9" o "PS 9" nella lista di compatibilità
  2. Test sulla messa in scena — installare il modulo su un ambiente di staging PS9 e testare tutte le funzionalità
  3. Controllare il modulo PHP codice — cerca funzioni deprecate, override del controller legacy, e PHP sintassi 7.x
  4. Contattare lo sviluppatore — chiedere all'autore del modulo circa la timeline di supporto PS9

PrestaShop 9 Moduli Compatibili da ¤M21

ModuloPS 1.7PS 8PS 9Stato
#Sì.Sì.Sì.Aggiornato
#Sì.Sì.Sì.Aggiornato
#-Sì.Sì.Aggiornato
#Sì.Sì.Arrivo prestoIn corso
#Sì.Sì.Arrivo prestoIn corso
#Sì.Sì.Arrivo prestoIn corso
#Sì.Sì.Arrivo prestoIn corso

Numero di moduli comuni su PrestaShop 9

1. Legacy Admin Controller Override

Se un modulo supera un controller di amministrazione legacy (ad esempio, AdminOrdersController), non funzionerà perché PS9 utilizza Symfony controller per la maggior parte delle pagine di amministrazione. Il modulo deve essere aggiornato per utilizzare Symfony- hooks compatibili o CQRS comandi.

2. Smarty Dipendenze modello

I moduli che modificano i modelli di back office utilizzando i file Smarty .tpl possono rompersi in aree dove PS9 ha migrato a Twig. Ufficio anteriore Smarty i modelli funzionano ancora con il tema Classic, ma non con il nuovo tema Hummingbird.

3. PHP Compatibilità

I numeri comuni PHP 8.x includono: proprietà dinamiche deprecate, controllo del tipo più rigoroso e funzioni rimosse come mysql * (dovrebbe usare PDO).

Ti serve aiuto?

Se state progettando un PrestaShop 9 migrazione e bisogno di consulenza di compatibilità del modulo, leggete il nostro PrestaShop 9 guida completa o controllate il nostro Grafico di compatibilità della versione M43¤.

Come dichiarare PrestaShop 9 Compatibilità nel modulo

Se si sviluppano moduli M19¤, è necessario aggiornare la dichiarazione di compatibilità nel codice modulo:

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

Anche aggiornare il file config.xml:

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

Come testare un modulo su PrestaShop 9

  1. Impostare un ambiente PS9 locale usando Docker o XAMPP con PHP 8.3
  2. Installa il modulo tramite l'uploader del modulo back office
  3. Controlla il registro di errore a /var/log/ o abilitare la modalità PS debug: impostare _PS_MODE_DEV_ a true in config/defines.inc.php
  4. Testare tutte le funzionalità del modulo — installazione, configurazione, visualizzazione front office, disinstallazione
  5. Correre su PHP 8.3 modalità rigorosa per catturare avvisi di deprecazione
  6. Prova con il tema M15¤ se il modulo aggiunge elementi dell'ufficio anteriore

Tabella completa di compatibilità del modulo PrestaSOO

ModuloPS 1.7PS 8PS 9M43, 8.3Note
#Completamente aggiornato
#Completamente aggiornato
#Completamente aggiornato
#PrestoAggiornamento in corso
#PrestoAggiornamento in corso
#PrestoAggiornamento in corso
#PrestoAggiornamento in corso

PrestaShop 9 Modulo Compatibilità Checklist

CheckCosa cercare
¤ M43¤ 8.1+ sintassiNessuna funzione deprecata, nessuna proprietà dinamica senza dichiarazione
Nessun override di amministratore legacyIl modulo non sovrascrive AdminOrdersController, AdminProductsController ecc.
Symfony - ganci compatibiliUtilizza actionXxx e displayXxx ganci, non vecchi ganci legacy
# M26 # # vs #M32 #Ufficio anteriore: Smarty ancora OK. Back office: deve essere Twig per le pagine PS9
Webservice vs Admin APILegacy Webservice funziona ancora; Admin API preferito per nuove integrazioni
Dipendenze dei concorrentiTutti i pacchetti fornitori supportano PHP 8.1+

Domande frequenti

Tutti i moduli M19¤ 8 funzionano su PS9?

Non automaticamente. I moduli che aggiungono solo funzionalità dell'ufficio anteriore (banner, popup, elementi della pagina del prodotto) di solito funzionano senza modifiche. I moduli che sovrascrivono i controller di amministrazione o utilizzano le funzioni deprecate PHP 7.x avranno bisogno di aggiornamenti.

Dove posso controllare la compatibilità del modulo ufficiale?

Controllare l'elenco del modulo sul ¤ M19¤ Addons Marketplace — ogni modulo mostra le sue versioni PS compatibili. Verificare sempre su un ambiente di staging prima di aggiornare la produzione.

Cosa succede se installo un modulo incompatibile su PS9?

PrestaShop tipicamente mostrerà un avviso di compatibilità. Nel peggiore dei casi, il modulo può causare un errore fatale PHP. Abilitare la modalità debug prima di testare moduli incompatibili, e avere sempre un backup pronto.