Sin impuesto Con impuesto

Twig e Smarty in PrestaShop: cosa si usa dove e come personalizzare senza rompere

Il front è ancora in Smarty e il back office è in Twig. Ti spieghiamo come personalizzare ciascuno e dove mettere le tue modifiche perché sopravvivano agli aggiornamenti.

Jesús Meilán
Updated: 26/09/2026 159
Twig e Smarty in PrestaShop: cosa si usa dove e come personalizzare senza rompere
Share:

PrestaShop usa due motori di template: Smarty per il negozio (front) e Twig per le schermate moderne del back office. Sapere quale tocca in ogni caso evita molte ore passate a cercare dove si trova un testo.

Il front: Smarty e il tema

Tutto ciò che vede il cliente esce dai template .tpl del tema attivo. Un tema figlio deve includere solo i template che modifica: il resto lo eredita dal tema padre.

Sovrascrivere il template di un modulo

Non modificare i file dentro modules/: il prossimo aggiornamento del modulo li sovrascriverà. Copia il template nel tuo tema rispettando il percorso:

modules/ps_shoppingcart/ps_shoppingcart.tpl
  → themes/mitema/modules/ps_shoppingcart/ps_shoppingcart.tpl

PrestaShop cercherà prima nel tema. Attenzione però: se il modulo cambia le sue variabili in una nuova versione, la tua copia può restare indietro. Controlla i template sovrascritti a ogni aggiornamento.

Il back office: Twig

Le schermate Symfony vengono disegnate con Twig. I moduli possono aggiungere contenuti negli hook del back office o avere i propri template Twig sotto @Modules/mimodulo/.... Sovrascrivere i template Twig del core è possibile ma delicato; quando puoi, usa gli hook.

Escaping: la parte da non dimenticare

  • In Smarty, applica l'escaping a tutto ciò che proviene dai dati: {$nombre|escape:'html':'UTF-8'}. Usa nofilter solo con HTML generato da te e di cui sei sicuro.
  • In Twig l'escaping è automatico; |raw lo disattiva, usalo con la stessa attenzione.

Cache dei template

Smarty compila i template e, a seconda della configurazione, salva l'HTML di alcuni blocchi. Se modifichi un template e non vedi il cambiamento, svuota la cache da Prestazioni. In sviluppo, attiva «Forza la compilazione» per non doverlo fare ogni volta, e disattivala in produzione: è molto più lenta.

Il nostro consiglio

Metti tutte le modifiche visive in un tema figlio e tutte le modifiche di comportamento in un modulo. Così aggiornare il tema padre o PrestaShop è una formalità e non un'operazione rischiosa.

Caricamento...
Consenso sui cookie
Torna all'inizio