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.2. Waaruit een Drupal 8-thema bestaat. Overzicht van het Stark-thema.

17/10/2025, by Ivan

In Drupal 7 kon je snel en eenvoudig een subthema maken op basis van Zen en beginnen met het bouwen van je website. Sinds Drupal 8 zijn er ook verschillende basisthema’s waarmee je je eigen thema kunt maken. Maar voordat je een subthema op basis daarvan aanmaakt, is het belangrijk om eerst te begrijpen waar alles zich bevindt.

De Drupal-ontwikkelaars raden aan om als voorbeeld het Stark-thema te bekijken. Dit thema is toegevoegd aan Drupal om te laten zien hoe een thema is opgebouwd. Laten we eens kijken wat er binnen dit thema zit:

Bestand stark.info.yml

We beginnen met het bestand stark.info.yml. In Drupal 7 werden de themagegevens opgeslagen in .info-bestanden, maar in Drupal 8 wordt overal het YML-formaat gebruikt. Het bestand .info is dus nu info.yml en gebruikt de YML-syntaxis, waarbij sleutels en waarden worden gescheiden door een dubbele punt.

Naam van het thema:

name: Stark

Het type project kan een thema of een module zijn. In dit geval is het een thema:

type: theme

Beschrijving die wordt weergegeven op de themapagina:

description: 'Een bewust eenvoudig thema zonder opmaak om de standaard HTML en CSS van Drupal te tonen. Leer hoe je een eigen thema kunt maken vanuit Stark in de Theming Guide.'

Groepering van Drupal-projecten voor overzicht — bijvoorbeeld, wanneer modules worden ingeschakeld, worden ze gegroepeerd in tabbladen:

package: Core

De versie voor bijgedragen modules wordt automatisch ingesteld, dus hier wordt de variabele VERSION vermeld en de regel is becommentarieerd. In feite wordt de versie hieronder weergegeven:

# version: VERSION

De Drupal-coreversie is ook becommentarieerd en wordt automatisch toegevoegd door drupal.org:

Voor Drupal 8.8 en hoger:

core: 8.x
core_version_requirement: ^8 || ^9

Voor Drupal 8.8 en lager:

# core: 8.x

Als het thema geen basisthema gebruikt, wordt dat aangegeven met false:

base theme: false

Het blok met de versie-informatie en core-gegevens wordt automatisch toegevoegd door drupal.org:

# Information added by Drupal.org packaging script on 2016-02-03
version: '8.0.3'
core: '8.x'
project: 'drupal'
datestamp: 1454490380

Bestand stark.libraries.yml

Hier worden de CSS- en JS-bestanden van het thema toegevoegd:

global-styling:
  version: VERSION
  css:
    base:
      css/layout.css: {}

We kunnen ook JavaScript-bestanden toevoegen:

global-styling:
  version: VERSION
  css:
    base:
      css/layout.css: {}
  js:
    js/custom.js: {}

Merk ook op dat jQuery nu optioneel is in Drupal en mogelijk niet standaard op de pagina wordt geladen. Als je jQuery gebruikt in je eigen script, moet je het toevoegen aan je thema:

global-styling:
  version: VERSION
  css:
    base:
      css/layout.css: {}
  js:
    js/custom.js: {}
  dependencies:
    - core/jquery

Bovendien kun je instellen welke CSS-bestanden altijd moeten worden weergegeven en welke alleen in de printversie:

global-styling:
  version: VERSION
  css:
    base:
      css/layout.css: {}
      css/style.css: {}
      css/colors.css: {}
      css/print.css: { media: print }
  js:
    js/custom.js: {}
  dependencies:
    - core/jquery

Beschrijving en hulpbestanden: README.txt, screenshot.png

Deze bestanden tonen hoe het thema eruitziet en geven uitleg over installatie en bijzonderheden bij gebruik.

Bestand logo.svg

Het logobestand wordt automatisch toegevoegd aan het ontwerp van het thema als het zich in de hoofdmap bevindt. Je kunt ook je eigen logo uploaden via de thema-instellingen in de beheerinterface.

Map config en bestand stark.schema.yml

Nog een YML-bestand waarin de instellingen van het thema worden opgeslagen. Voor het Stark-thema bevat dit alleen de titel voor de instellingenpagina van het thema.

Mappen css en js

Deze mappen bevatten aangepaste CSS- en JavaScript-bestanden. Vergeet niet dat het niet voldoende is om een bestand in de map te plaatsen; elk bestand moet afzonderlijk worden opgenomen via stark.libraries.yml.

Bestand stark.breakpoints.yml

Dit bestand definieert de schermgroottes voor mobiele versies van de site. Dit is een nieuwe functie in Drupal, en we zullen dit later in detail bespreken.

stark.mobile:
  label: mobile
  mediaQuery: '(min-width: 0px)'
  weight: 0
  multipliers:
    - 1x
stark.narrow:
  label: narrow
  mediaQuery: 'all and (min-width: 480px) and (max-width: 959px)'
  weight: 1
  multipliers:
    - 1x
stark.wide:
  label: wide
  mediaQuery: 'all and (min-width: 960px)'
  weight: 2
  multipliers:
    - 1x

Zo ziet het Stark-thema eruit, dat bedoeld is om kennis te maken met de structuur van een Drupal-thema. In het volgende artikel bekijken we hoe je je eigen thema maakt op basis van het Stable-thema.