logo

Extra Block Types (EBT) - Nieuwe Layout Builder ervaringâť—

Extra Block Types (EBT) - gestileerde, aanpasbare bloktypes: Slideshows, Tabs, Cards, Accordions en vele andere. Ingebouwde instellingen voor achtergrond, DOM Box, javascript-plugins. Ervaar vandaag al de toekomst van layout building.

Demo EBT-modules Download EBT-modules

âť—Extra Paragraph Types (EPT) - Nieuwe Paragraphs ervaring

Extra Paragraph Types (EPT) - analoge op paragrafen gebaseerde set modules.

Demo EPT-modules Download EPT-modules

Scroll

6.6. Werken met templates in Drupal. Wat zijn de templates in de core van Drupal.

17/10/2025, by Ivan

We hebben al gezien dat Drupal Twig ingebouwd heeft en hoe je het kunt gebruiken. In dit artikel bespreken we hoe je met Drupal-templates werkt, welke templates er in het Stable-thema aanwezig zijn, hoe je deze kunt overschrijven en hoe je templates van verschillende Drupal-entiteiten kunt aanpassen.

Laten we beginnen met de templates van het Stable-thema. Ga naar de templatesmap van het thema Stable:

templates in Drupal 8

De templates zijn onderverdeeld volgens hun functie:

/core/themes/stable/templates/admin — templates voor de Views UI, admin-pagina’s, meldingen en rapporten.
/core/themes/stable/templates/block — block-templates.
/core/themes/stable/templates/content — templates voor nodes, reacties, taxonomietermen, RSS-elementen, zoekresultaten.
/core/themes/stable/templates/content-edit — templates voor filters en bewerkingsformulieren.
/core/themes/stable/templates/dataset — templates voor forums, RSS-kanalen, tabellen en lijsten.
/core/themes/stable/templates/field — veldtemplates voor verschillende veldtypes.
/core/themes/stable/templates/form — templates voor formulier-elementen.
/core/themes/stable/templates/layout — templates voor de paginavormgeving, regio’s, en het hoofdsjabloon html.html.twig waarin alle andere templates worden geladen.
/core/themes/stable/templates/misc — templates voor RSS-, RDF-icoontjes, meldingen en voortgangsbalken.
/core/themes/stable/templates/navigation — templates voor menu’s, boeken (Book-module), paginering, toolbar, verticale tabs en broodkruimels.
/core/themes/stable/templates/user — templates voor gebruikerspagina’s, gebruikersnamen, en handtekeningen bij forumberichten.
/core/themes/stable/templates/views — templates voor elementen van de Views-module.

Zoals je ziet, biedt het Stable-thema een breed scala aan templates die je kunt aanpassen. Om een template te overschrijven, kopieer je het gewenste bestand naar je subthema en bewerk je het daar. Je kunt alle templates kopiëren, maar het is beter om alleen die te kopiëren die je echt wilt aanpassen.

Templates voor content overschrijven (template suggestions)

Je kunt niet alleen bestaande templates aanpassen, maar ook je eigen templates toevoegen voor specifieke nodes, taxonomietermen, blokken, enzovoort. Hieronder volgen enkele voorbeelden.

HTML-template

Een HTML-template bevat de basisstructuur van de HTML-pagina.

Hoofdtemplate: html.html.twig (locatie: core/modules/system/templates/html.html.twig)

Mogelijke overschrijvingen:

  1. html--internalviewpath.html.twig
  2. html--node--id.html.twig
  3. html.html.twig

internalviewpath is het interne pad in Drupal, zoals node/15, taxonomy/term/46, user/2, enzovoort.

Meer informatie: html.html.twig

Pagina-template

Overschrijvingsopties: page--[front|internal/path].html.twig

Hoofdtemplate: page.html.twig (locatie: core/modules/system/templates/page.html.twig)

De mogelijke paginatemplates zijn zeer gevarieerd. De homepage-template heeft de hoogste prioriteit. Andere templates zijn gebaseerd op het interne pad van de pagina. De startpagina wordt ingesteld via:

/admin/config/system/site-information

Verwar het interne pad niet met aliassen. Bijvoorbeeld, een nieuwsnode kan de URL /news/node-title hebben, maar intern heeft deze het pad /node/node-id.

Voor de bewerkpagina van een node (http://example.com/node/1/edit) kun je deze templates gebruiken:

page--node--edit.html.twig
page--node--1.html.twig
page--node.html.twig
page.html.twig

Meer informatie: page.html.twig

Regio’s

Overschrijvingsopties: region--[region].html.twig

Hoofdtemplate: region.html.twig (locatie: core/modules/system/templates/region.html.twig)

De regiotemplate wordt gebruikt wanneer een regio inhoud heeft (via blokken of hook_page_build()). De regio’s worden gedefinieerd in het .info.yml-bestand van je thema.

Meer informatie: region.html.twig

Blokken

Overschrijvingsopties: block--[module|--delta].html.twig

Hoofdtemplate: block.html.twig (locatie: core/modules/block/templates/block.html.twig)

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

module is de naam van de module die het blok weergeeft, en delta is de interne ID van dat blok.

Bijvoorbeeld, block--block--1.html.twig is het eerste blok dat via de administratie is toegevoegd. Als je in een aangepaste module een blok met delta “my-block” maakt, dan wordt de template block--custom--my-block.html.twig.

Voor de Views-module wordt de naam van de template samengesteld uit de viewnaam en de display-ID, bijvoorbeeld: block--views-block--front-news-block-1.html.twig.

Let erop dat underscores worden vervangen door koppeltekens. Namen zijn bovendien hoofdlettergevoelig.

Meer informatie: block.html.twig

Nodes (inhoudstypes)

Overschrijvingsopties: node--[type|nodeid]--[viewmode].html.twig

Hoofdtemplate: node.html.twig (locatie: core/modules/node/templates/node.html.twig)

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

viewmode is de weergavemodus (Full, Teaser, RSS, enz.), type is het inhoudstype (bijv. News, Article, Page), en nodeid is het interne ID (nid).

Meer informatie: node.html.twig

Taxonomietermen

Overschrijvingsopties: taxonomy-term--[vocabulary-machine-name|tid].html.twig

Hoofdtemplate: taxonomy-term.html.twig (locatie: core/modules/taxonomy/templates/taxonomy-term.html.twig)

Je kunt de template op vocabulaire of termniveau overschrijven. Underscores worden vervangen door koppeltekens.

Meer informatie: taxonomy-term.html.twig

Velden

Overschrijvingsopties: field--[type|name|content-type].html.twig

Hoofdtemplate: field.html.twig (locatie: core/modules/system/templates/field.html.twig)

  1. field--field-name--content-type.html.twig
  2. field--content-type.html.twig
  3. field--field-name.html.twig
  4. field--field-type.html.twig
  5. field.html.twig

Underscores in namen worden vervangen door koppeltekens.

Meer informatie: field.html.twig

Reacties

Overschrijvingsopties: comment--node-[type].html.twig

Hoofdtemplate: comment.html.twig (locatie: core/modules/comment/templates/comment.html.twig)

Je kunt voor elk inhoudstype een aparte commenttemplate gebruiken, bijvoorbeeld comment--node-article.html.twig.

Meer informatie: comment.html.twig

Views

Views-templates kunnen worden overschreven op basis van de machinenaam, display-ID en type (pagina, blok, enz.). De belangrijkste templates zijn views-view.html.twig en views-view-unformatted.html.twig.

Bij gebruik van velden wordt ook views-view-fields.html.twig gebruikt.

Forums

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

Hoofdtemplate: forums.html.twig (locatie: core/modules/forum/templates/forums.html.twig)

Je kunt aparte templates maken voor containers en topics.

Meer informatie: forums.html.twig

Onderhoudsmodus

Overschrijvingsopties: maintenance-page--[offline].html.twig

Hoofdtemplate: maintenance-page.html.twig (locatie: core/modules/system/templates/maintenance-page.html.twig)

Meer informatie: maintenance-page.html.twig

Zoekresultaten

Overschrijvingsopties: search-result--[searchType].html.twig

Hoofdtemplate: search-result.html.twig (locatie: core/modules/search/templates/search-result.html.twig)

Bijvoorbeeld, voor zoeken in nodes gebruik je search-result--node.html.twig, en voor gebruikers search-result--user.html.twig.