Inclusione di una parte del template
Molti sviluppatori preferiscono conservare il codice dell’header/footer in un file separato e richiamare tale file in page.html.twig
Processo
Supponiamo che tu abbia creato il seguente file nella cartella del tuo tema per l’header:
THEME_NAME/templates/includes/header.html.twig
E ora vuoi includere questo file in:
page.html.twig
Metodo raccomandato
Il metodo corretto per i temi Drupal 8 consiste nell’usare i namespace Twig per dichiarare la cartella "templates" del tema corrente. Ecco un esempio:
{% include '@THEME_NAME/includes/header.html.twig' %}
Qui sotto c’è un esempio da un tema funzionante su Drupal.org, chiamato Architect.
«@architect» si riferisce alla cartella /templates nel tema attivo (architect).
{% include '@architect/includes/header.html.twig' %}
Il namespace Twig viene creato automaticamente in Drupal 8 quando installi il tuo tema e punta alla cartella /templates del tuo tema. In sostanza, scrivere «@theme_name» nell’inclusione Twig (come sopra) farà riferimento al percorso «your_site.com/themes/theme_name/templates» sul tuo server.
Metodo non raccomandato
Uno dei possibili (ma non raccomandati) metodi è usare il codice seguente per includere questo file:
{# NON raccomandato #}
{% include directory ~ '/templates/includes/header.html.twig' %}
Le informazioni sopra possono funzionare, tuttavia causeranno un errore del server se usate con un sotto-tema.
Estendere la funzionalità dei namespace
Il modulo Components fornisce un’organizzazione più flessibile e avanzata dei template twig in Drupal 8, che può funzionare con twig "embed"