Modulo personalizzato Prestashop: scaffold
Creare un modulo Prestashop personalizzato e' la via maestra per estendere il negozio senza toccare il core. Un modulo ben fatto convive con upgrade, e' pulito da disinstallare e si integra con hook. Vediamo lo scaffold base di un modulo per Prestashop 8.
Struttura cartelle minima
Un modulo vive in modules/nomemodulo/. La struttura base e': nomemodulo.php (file principale), config.xml auto-generato, logo.png, cartella views/ per template e asset, controllers/ per controller front e admin, translations/ per lingue, upgrade/ per script di upgrade tra versioni. Il file principale estende la classe Module.
File principale del modulo
Nel file nomemodulo.php definisci name (deve corrispondere al filename), version, author, displayName, description e dependencies. Implementa install() che chiama parent::install() e registerHook per gli hook usati. Implementa uninstall() simmetrico. Aggiungi getContent() per pagina di configurazione admin.
Procedura passo-passo
- Crea cartella modules/nomemodulo/.
- Crea file nomemodulo.php con classe NomeModulo extends Module.
- Imposta property name, tab, version, author.
- Implementa __construct con displayName e description.
- Implementa install() con registerHook necessari (es. displayHeader, actionProductSave).
- Implementa uninstall() e rimuovi i dati creati.
- Aggiungi logo.png 32x32 nella root del modulo.
- Crea getContent() per la pagina di configurazione backoffice.
- Installa il modulo via Module Manager.
- Testa l'hook con un dump nel metodo handler.
Errori comuni e come risolverli
- Modulo non visibile: nome classe diverso da nome cartella o filename.
- Hook non triggera: registerHook mancato in install o nome hook errato.
- Errore install: SQL custom fallisce; usa try/catch e log dettagliato.
- Crash dopo upgrade Prestashop: deprecated method; verifica changelog API.
Domande frequenti
D: Posso pubblicare su Addons?
R: Sì, dopo validation review di Prestashop.
D: Modulo deve avere licenza?
R: Sì, inserisci AFL 3.0 nel file principale.
D: Servono test automatici?
R: Consigliati con PHPUnit; obbligatori per marketplace.
Hai bisogno di aiuto?
Se vuoi un Prestashop performante curato dal team di G Tech Group, scrivici tramite il modulo di contatto.