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

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.

Puoi fare debug dei template Twig per scoprire quali template vengono utilizzati per generare il markup di un elemento. Ulteriori informazioni sul debug Twig qui.

In questa pagina sono elencate le convenzioni usate per la struttura HTML di base, le pagine, le regioni, i blocchi, i nodi, i campi e altri componenti principali. (È utile sapere che puoi creare suggerimenti personalizzati per i nomi dei template tramite hook_theme_suggestions_HOOK_alter.)

HTML (template <head>)

Il template HTML fornisce il markup per la struttura di base della pagina, inclusi i tag <head>, <title> e <body>.

Template base: html.html.twig (posizione: core/modules/system/templates/html.html.twig)

Esempi di sovrascrittura del template base:

  1. html--[internalviewpath].html.twig
  2. html--node--[nodeid].html.twig
  3. html.html.twig

Consulta la documentazione API html.html.twig.

Template Page

Template: page--[front|internal/path].html.twig
Template base: page.html.twig (posizione: core/modules/system/templates/page.html.twig)

I suggerimenti sono numerosi. La home page ha priorità. Gli altri si basano sul percorso interno della pagina corrente. La home page può essere configurata in Amministrazione > Configurazione > Sistema > Informazioni sul sito (http://example.com/admin/config/system/site-information). Il template per la home è page--front.html.twig.
Non confondere il percorso interno con gli alias, che non vengono considerati.

Per esempio, “http://www.example.com/node/1/edit” produrrà i seguenti suggerimenti:

  1. page--node--edit.html.twig
  2. page--node--1.html.twig
  3. page--node.html.twig
  4. page.html.twig

Consulta la documentazione API page.html.twig. Vedi anche il template pagina di manutenzione.

Regions

Template: region--[region].html.twig
Template base: region.html.twig (posizione: core/modules/system/templates/region.html.twig)

Il template di una regione viene usato quando una sezione della pagina contiene contenuto (blocchi o hook come hook_page_top() o hook_page_bottom()). I nomi delle regioni sono definiti nel file .info.yml del tema.

Consulta la documentazione API region.html.twig.

Blocks

Template: block--[module]--[delta].html.twig
Template base: block.html.twig (posizione: core/modules/block/templates/block.html.twig)

  1. block--[module]--[delta].html.twig
  2. block--[module].html.twig
  3. block.html.twig

“module” è il nome del modulo, mentre “delta” è l’identificatore assegnato al blocco.

Ad esempio: block--block--1.html.twig viene usato per il primo blocco creato con il modulo Block (ID 1).
Con un modulo personalizzato chiamato “custom” e delta “my-block”, il file sarà block--custom--my-block.html.twig.

Con Views: se hai una vista “front_news” con display ID “block_1”, il suggerimento sarà block--views-block--front-news-block-1.html.twig (gli underscore diventano trattini).

I nomi dei moduli sono case-sensitive. Se il modulo si chiama “MyModule”, il template sarà block--MyModule.html.twig.

Consulta la documentazione API block.html.twig.

Nodes

Template: node--[content-type|nodeid]--[viewmode].html.twig
Template base: node.html.twig (posizione: core/modules/node/templates/node.html.twig)

I suggerimenti seguono un ordine dal più specifico al meno specifico:

  1. node--[nodeid]--[viewmode].html.twig
  2. node--[nodeid].html.twig
  3. node--[content-type]--[viewmode].html.twig
  4. node--[content-type].html.twig
  5. node--[viewmode].html.twig
  6. node.html.twig

Nota: gli underscore nei nomi macchina vengono sostituiti da trattini.

Consulta la documentazione API node.html.twig.

Termini di tassonomia

Template: taxonomy-term--[vocabulary-machine-name|tid].html.twig
Template base: taxonomy-term.html.twig (posizione: core/modules/taxonomy/templates/taxonomy-term.html.twig)

  1. taxonomy-term--[tid].html.twig
  2. taxonomy-term--[vocabulary-machine-name].html.twig
  3. taxonomy-term.html.twig

Gli underscore nel nome del vocabolario vengono sostituiti da trattini.

Consulta la documentazione API taxonomy-term.html.twig.

Fields

Template: field--[[type|name]|[entity-type]--[field-name|content-type]].html.twig
Template base: field.html.twig (posizione: core/modules/system/templates/field.html.twig)

  1. field--node--[field-name]--[content-type].html.twig
  2. field--node--[field-name].html.twig
  3. field--node--[content-type].html.twig
  4. field--[field-name].html.twig
  5. field--[field-type].html.twig
  6. field.html.twig

Nota: gli underscore nei nomi macchina dei campi diventano trattini. Ricorda di includere il prefisso “field-”.

Consulta la documentazione API field.html.twig.

Comments

Template: comment--[comment-field-name]--[node-type].html.twig
Template base: comment.html.twig (posizione: core/modules/comment/templates/comment.html.twig)

Esempio: commento su un nodo di tipo articolo → comment--field-comments--article.html.twig.

Consulta la documentazione API comment.html.twig.

Forums

Template: forums--[[container|topic]--forumID].html.twig
Template base: forums.html.twig

Per i container:

  1. forums--containers--[forumid].html.twig
  2. forums--[forumid].html.twig
  3. forums--containers.html.twig
  4. forums.html.twig

Per i topic:

  1. forums--topics--[forumid].html.twig
  2. forums--[forumid].html.twig
  3. forums--topics.html.twig
  4. forums.html.twig

Pagina di manutenzione

Template: maintenance-page--[offline].html.twig
Template base: maintenance-page.html.twig

Si applica quando il database non è disponibile. Nota: maintenance-page--offline.html.twig non viene rilevato (vedi issue #2720109).

Risultati di ricerca

Template: search-result--[search-type].html.twig
Template base: search-result.html.twig

Esempi: “/search/node/foo” → search-result--node.html.twig, “/search/user/bob” → search-result--user.html.twig.

Views

Template base: views-view.html.twig (posizione: core/themes/stable/templates/views/views-view.html.twig)

Suggerimenti validi:

  • views-view--[viewid]--[view-display-id].html.twig
  • views-view--[viewid]--page.html.twig
  • views-view--block.html.twig
  • views-view--[viewid].html.twig
  • views-view.html.twig

Template per i campi di una vista:

  • views-view-field--[viewid]--[view-display-id]--[fieldid].html.twig
  • views-view-field--[fieldid].html.twig