
Un tema è un insieme di file che definiscono il livello di presentazione. Puoi anche creare uno o più “sotto-temi” o varianti di un tema. È richiesto solo il file .info.yml, ma la maggior parte dei temi e dei sotto-temi utilizzerà anche altri file. In questa pagina sono elencati i file e le cartelle che si trovano in un tema o sotto-tema tipico.


Aggiungere regioni a un tema richiede:
- Aggiungere i metadati della regione al file THEMENAME.info.yml.
- Modificare il file page.html.twig e stampare le nuove regioni.
Nota. Se dichiari qualsiasi regione nel tuo tema, anche solo una, tutte le regioni predefinite non saranno più applicate, e diventerai responsabile della dichiarazione di tutte le aree che desideri utilizzare.


Questa documentazione è per i temi. Per informazioni sui moduli consulta Aggiungere fogli di stile (CSS) e JavaScript (JS) in un modulo Drupal 8.
In Drupal 8 i fogli di stile (CSS) e JavaScript (JS) vengono caricati tramite lo stesso sistema sia per i moduli (codice) che per i temi: le librerie di risorse.
Per chiarezza, queste istruzioni sono destinate SOLO ai temi e non si applicano ai moduli.


Twig è un motore di template per PHP, parte del framework Symfony2.
In Drupal 8 Twig sostituisce PHPTemplate come motore di template predefinito. Una delle conseguenze di questo cambiamento è che tutte le funzioni theme_*
e i file *.tpl.php
basati su PHPTemplate sono stati sostituiti da file template *.html.twig
.


Drupal ti permette di sovrascrivere tutti i template usati per generare il markup HTML, così da avere il pieno controllo sul markup che viene mostrato come output nel tuo tema personalizzato. Esistono template per ogni elemento della pagina, dall’HTML di alto livello fino ai singoli campi.
Sovrascrivere i template
Puoi sovrascrivere i template core di Drupal aggiungendo nella cartella del tuo tema file che seguono le convenzioni di denominazione.
Per sovrascrivere un template devi:


Drupal carica i template in base a determinate convenzioni di denominazione. Questo ti consente di sovrascrivere i template aggiungendoli al tuo tema e assegnando loro nomi specifici.
Dopo aver aggiunto un template, è necessario ricostruire la cache affinché Drupal riconosca il nuovo file.


Informazioni su Twig
Twig è un linguaggio di template compilato basato su PHP. Quando la tua pagina web viene renderizzata, il motore Twig prende il template e lo trasforma in un template PHP “compilato”, che viene memorizzato in una cartella protetta in sites/default/files/php/twig. La compilazione avviene una sola volta, i file dei template vengono messi in cache per il riutilizzo e ricompilati quando la cache Twig viene svuotata.


Quando si lavora con un file di template Twig, la maggior parte delle variabili è documentata nei commenti del file stesso. Tuttavia, quando non è così, o quando temi o moduli introducono nuove variabili, abbiamo bisogno di un modo per individuare tutte le variabili disponibili all’interno del template. Twig fornisce la funzione dump()
per rilevare e controllare le variabili nei file di template.


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.


Come funziona normalmente Twig
Per impostazione predefinita, il motore di templating Twig compila i template in codice PHP e salva il codice compilato in memoria. Il codice compilato non è adatto allo sviluppo, poiché le modifiche nei template Twig non vengono aggiornate immediatamente sul tuo sito Drupal.
