Override template Prestashop: best practice

Override template Prestashop: best practice

L'override dei template e' la tecnica per personalizzare il rendering frontend senza toccare il tema base. Prestashop 8 supporta Smarty (.tpl) e in alcuni contesti Twig. La regola d'oro: mai modificare il tema classic; copia file in un tema child o nel proprio tema custom.

Come funziona l'override template

Quando una pagina chiama un template (es. catalog/product.tpl), Prestashop cerca prima in themes/tuotema/templates/, poi in themes/classic/templates/ come fallback. Per fare override basta copiare il file dal tema base nel tuo tema mantenendo il path relativo. Le modifiche entrano in vigore al refresh cache. Per moduli, copia modules/nomemod/views/templates/hook/file.tpl in themes/tuotema/modules/nomemod/views/templates/hook/file.tpl.

Override hook display

Per modificare hook display senza toccare il modulo: crea il file nel tema con stesso path relativo. Esempio: themes/tuotema/modules/blockcart/views/templates/hook/blockcart.tpl sovrascrive il modulo originale. Mantieni il blocco logico (variabili Smarty assegnate dal controller) per non rompere funzionalità.

Procedura passo-passo

  1. Identifica il template da modificare con il debug toolbar Prestashop.
  2. Copia il file dal path originale al path equivalente nel tuo tema.
  3. Modifica solo il file copiato.
  4. Svuota cache Smarty da Parametri avanzati > Performance.
  5. Verifica modifica in frontend.
  6. Se la modifica non si applica, verifica path esatto e nome file.
  7. Documenta gli override in un README del tema.
  8. Su upgrade Prestashop, riesamina override per metodi cambiati.
  9. Versiona il tema in git per tracking modifiche.
  10. Esegui regression test prima di deploy in produzione.

Errori comuni e come risolverli

  • Override non applicato: cache Smarty da svuotare; oppure path errato.
  • Variabili Smarty undefined: assegnate dal controller; verifica nome variabile.
  • Override perso dopo update modulo: solo se hai modificato il modulo direttamente.
  • Twig conflitti: alcuni backoffice usano Twig; non confondere con Smarty del frontend.

Domande frequenti

D: Posso override file PHP?
R: Sì, usa cartella override/ a livello root, non nel tema.

D: Override sopravvivono upgrade?
R: Sì se mantieni path e API; rivedi su major release.

D: Tema child esiste in Prestashop?
R: Sì, supportato nativamente da Prestashop 1.7+.

Hai bisogno di aiuto?

Se vuoi un Prestashop performante curato dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?