Aggiungere regioni al tema
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.
Tutti i blocchi che erano in regioni che non esistono più (perché non le hai definite) verranno ora disabilitati – in particolare se modifichi THEMENAME.info.yml e ricostruisci la cache con drush cr, vedrai un messaggio simile a questo per ciascuno:
Il blocco themename_breadcrumbs è stato assegnato a una regione non valida breadcrumb ed è stato disabilitato.
Se vai su /admin/structure/block, tutti i blocchi disabilitati saranno elencati nella parte superiore dell’area con un indicatore (disabilitato). Puoi trascinarli o usare il menu a tendina “Regione” per riassegnarli, oppure rimuovere i blocchi che non ti servono più.
Assicurati di mantenere le regioni page_top e page_bottom. Queste sono aree “nascoste” utilizzate per il markup nella parte superiore e inferiore della pagina, come l’analisi o la barra degli strumenti di amministrazione. Non è necessario elencarle nel file THEMENAME.info.yml, basta non rimuoverle dal template html.html.twig. I moduli possono dipendere dalla loro presenza.
Aggiungere regioni al tuo file info
Inizia dichiarando qualsiasi nuova regione nel file THEMENAME.info.yml. Le regioni sono dichiarate come figli della chiave regions, come segue:
regions: header: 'Header' content: 'Content' footer: 'Footer'
Le chiavi delle regioni devono essere alfanumeriche e possono contenere underscore (_). Le chiavi devono iniziare con una lettera. La chiave è il nome macchina (quello che usi nel codice), mentre il valore è la versione leggibile che viene mostrata nell’interfaccia di amministrazione.
Aggiungere regioni ai tuoi template
Affinché le regioni mostrino qualsiasi contenuto collocato in esse, devi assicurarti che le nuove regioni siano aggiunte anche al tuo file page.html.twig. Le regioni verranno rese disponibili come variabili Twig, il cui nome corrisponde alla chiave usata nel file THEMENAME.info.yml con il prefisso page.
Esempio:
header: 'Header'
...diventerà:
{{ page.header }}
Si comportano come qualsiasi altra variabile Twig e possono essere racchiuse in qualsiasi markup adatto al tuo caso d’uso.
(La sintassi delle aree nascoste predefinite è diversa, vedi sotto.)
Regioni predefinite
Vedi la documentazione di page.html.twig per un elenco delle regioni predefinite.
- page.header
- page.primary_menu
- page.secondary_menu
- page.highlighted
- page.help (testo di aiuto dinamico, usato principalmente per le pagine di amministrazione)
- page.content (contenuto principale della pagina corrente)
- page.sidebar_first
- page.sidebar_second
- page.footer
- page.breadcrumb
Se il tuo tema non dichiara regioni, Drupal userà questo set predefinito.
Queste aree corrispondono a ciò che si aspetta il file predefinito core/modules/system/templates/page.html.twig, così come alle due aree nascoste page_top e page_bottom – non è necessario dichiarare queste ultime due se stai sovrascrivendo i valori predefiniti, ma le variabili Twig {{ page_top }} e {{ page_bottom }} devono essere mantenute nel template html.html.twig.