6.7. Lavorare con regioni e blocchi in Drupal
Per creare una nuova regione attraverso la quale poter visualizzare blocchi, devi eseguire due passaggi:
- Aggiungere le informazioni della regione al file
theme.info.yml
- Modificare il file
page.html.twig
aggiungendo l’output della nuova regione
Aggiungere i dati della regione al file drupalbook.info.yml
Tutte le regioni vengono definite all’interno della chiave regions
:
# Regions
regions:
header: 'Header'
content: 'Content'
footer: 'Footer'
Il nome macchina della regione deve essere composto da lettere e numeri; è possibile usare anche il carattere di sottolineatura (_
), come nelle variabili PHP.
Il nome leggibile può essere scritto tra virgolette (consigliato) o senza, se non contiene spazi.
Il nome leggibile appare nel pannello di amministrazione, mentre il nome macchina viene usato nel template page.html.twig
.
Aggiungere l’output della regione in page.html.twig
Tutte le regioni sono contenute nella variabile page
.
Per visualizzare una determinata regione, bisogna stampare la parte corrispondente della variabile page
.
Ad esempio, se abbiamo la regione header
definita così:
header: 'Header'
nel template useremo il nome macchina header
per visualizzarla:
{{ page.header }}
Puoi visualizzare qualsiasi regione definita nel file theme.info.yml
in qualsiasi punto del template page.html.twig
.
Regioni standard di Drupal
Puoi sempre consultare la documentazione ufficiale: page.html.twig
page.header: visualizza l’intestazione del sito.
page.primary_menu: visualizza il menu principale del sito.
page.secondary_menu: visualizza un menu secondario.
page.highlighted: visualizza informazioni sopra il contenuto.
page.help: visualizza la sezione di aiuto.
page.content: regione obbligatoria per mostrare il contenuto principale del sito.
page.sidebar_first: prima barra laterale.
page.sidebar_second: seconda barra laterale.
page.footer: piè di pagina del sito.
page.breadcrumb: visualizza i breadcrumb del sito.
Puoi usare le regioni standard di Drupal oppure aggiungerne di personalizzate.
L’importante è che il nome della regione nel file .info.yml
corrisponda al nome utilizzato nel file page.html.twig
.