logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri
03/10/2025, by Ivan

Menu

Il motore di template Twig offre uno strumento di debug.

L'implementazione di Drupal 8 aggiunge anche uno strumento extra che ti consente di trovare il template che genera il markup.

Avviso: abilitare il debug di Twig può rompere alcune parti del sito, in particolare Views. Vedi questo issue.

Abilitare il debug

Abiliti il debug di Twig in sites/default/services.yml.

Imposta la variabile di debug su true. E svuota la cache.

parameters:
  twig.config:
    debug: true 
  • Se services.yml non esiste ancora, copia default.services.yml in services.yml.
  • Se Drupal è già installato, potrebbe essere necessario modificare temporaneamente i permessi della cartella sites/default per consentire la scrittura.
  • Come modificare i permessi delle cartelle
  • Dopo che services.yml è stato creato e modificato, ripristina i permessi per bloccare la cartella sites/default.

Verificare il debug

Se usi Firebug (in Firefox), assicurati che “Mostra commenti” ("Show Comments") sia abilitato, oppure visualizza direttamente il sorgente della pagina:

twig-debug

Ricaricamento automatico

I template Twig vengono compilati in classi PHP sul disco per migliorare le prestazioni, ma questo significa che di default i tuoi template non si aggiornano quando li modifichi. Non abilitare questa funzione in produzione.

Per ricompilare manualmente i template, esegui drush cr. Per risparmiare tempo in fase di sviluppo, abilita il ricaricamento automatico impostando twig.config.auto_reload: true in services.yml (di default il ricaricamento automatico è abilitato se twig.config.debug: true).

Per ulteriori informazioni consulta https://drupal.org/node/1903374.

Visualizzare le variabili

Il modo migliore per ispezionare le variabili è usare Xdebug.

Se utilizzi altri metodi non basati su Xdebug, come quelli indicati qui sotto, otterrai molte operazioni di rendering ricorsivo che possono generare pagine e pagine di informazioni poco utili.

L’approccio più raccomandato è usare PHPStorm con Xdebug, perché la configurazione è molto semplice, ma quasi tutte le IDE hanno un plugin per Xdebug. Se hai bisogno di un editor gratuito e leggero, VSCode di Microsoft è un’opzione open source che supporta plugin per PHP e Xdebug.

Configurazione di Xdebug

Configurare Xdebug può essere complicato, quindi assicurati di leggere attentamente la documentazione del plugin per la tua IDE e la documentazione ufficiale di Xdebug. Limitarsi a leggere guide o report di errori online sarà inutile se stai puntando all’ambiente sbagliato (ad esempio: se Xdebug si trova dentro Vagrant, Virtualbox o Docker, potrebbero servirti le istruzioni per la connessione “remota”: https://xdebug.org/docs/remote).

Drupal.org fornisce guide a Xdebug per vari editor, disponibili qui: https://www.drupal.org/docs/develop/development-tools/xdebug-debugger

Quando lavori con Xdebug:

Ci sono tre modi per impostare breakpoint nei tuoi template Twig, così che la tua IDE possa mostrarti variabili e altre informazioni sullo stato dell’ambiente PHP:

  • Usa la nuova funzione di debug Twig in PHPStorm (blog, docs). Non sono necessari moduli Drupal.
  • con il modulo Devel
{{ devel_breakpoint() }}
  • con il modulo Twig Xdebug
{{ breakpoint() }}

Se non puoi installare Xdebug ...

... continua a leggere e buona fortuna, amico mio.

{{ dump() }}
{{ dump(variable_name) }}

Elenco delle variabili disponibili (a livello superiore):

{{ dump(_context|keys) }}

Se hai il sottomodulo Devel kint (da installare con require-dev tramite Composer con composer require --dev drupal/devel 1.0-alpha1 e attivare con Drush tramite drush -y en kint), puoi ottenere una visualizzazione armoniosa delle variabili disponibili nel template con:

{{ kint() }}

C’è un’alta probabilità che kint blocchi il browser se il rendering è molto grande. In questo caso i seguenti moduli potrebbero funzionare meglio per te:

Oppure puoi usare il modulo Vardumper Twig, che integra Vardumper per Twig. Puoi ottenere una visualizzazione armoniosa delle variabili disponibili in Twig con:

{{ dump() }}
{{ dump(variable_name) }}
{{ vardumper() }}
{{ vardumper(variable_name) }}

... ma considera che investire un’ora o due per configurare Xdebug renderà la tua vita molto più semplice, perché ti consentirà di sapere esattamente quali variabili sono disponibili.

Se stai usando il paradigma sbagliato ...

Se stai programmando molto all’interno dei template, dovresti chiederti se davvero devi eseguire operazioni complesse a questo livello. Ad esempio: valuta se sia meglio copiare un file esistente di plugin del formatter dei campi in un modulo personalizzato (ricordati di mantenere la stessa struttura di percorso) e modificare semplicemente l’annotazione (il commento introduttivo, anche chiamato nome del plugin) e la logica PHP/HTML per ottenere quello che vuoi. I plugin in Drupal 8 sono semplicemente file separati posizionati in cartelle specifiche, molto semplici da gestire.

Ulteriori opzioni di debug sono disponibili nella sezione successiva.