Definitie van een thema met behulp van het .info.yml-bestand
Om een Drupal 8-thema te maken, moet je eerst een bestand THEMENAME.info.yml aanmaken, dat metadata over je thema aan Drupal levert. Dit lijkt op de manier waarop modules en installatieprofielen worden gedefinieerd. Het is daarom belangrijk om de sleutel “type” in het bestand file.info.yml in te stellen op “theme”, om het te onderscheiden.
Deze pagina bevat een voorbeeld van een bestand THEMENAME.info.yml en een overzicht van de informatie die het bestand kan bevatten.
Maak een .info.yml-bestand
Maak een .info.yml-bestand in de hoofdmap van je thema. De map moet dezelfde naam hebben als het .info.yml-bestand. Dus als je thema “Fluffiness” heet, dan heet de map “fluffiness/” en het .info.yml-bestand “fluffiness/fluffiness.info.yml”. Als het bestand aanwezig is met de minimaal vereiste eigenschappen (naam, type en core), verschijnt je thema op je site onder “Beheer > Weergave” (http://example.com/admin/appearance). Kies een unieke naam die nog niet door een module of ander thema wordt gebruikt. Anders worden de componenten van het thema niet correct geladen.
Vervang spaties in de themanaam door underscores in de mapnaam (en de bestandsnaam .info.yml).
Als je niet bekend bent met de structuur van YAML-bestanden, lees dan dit korte overzicht van het YAML-bestandsformaat.
- Tabs zijn NIET toegestaan. Gebruik ALLEEN spaties.
- Eigenschappen en lijsten MOETEN inspringen met twee (2) spaties.
Voorbeeld
name: Fluffiness type: theme description: 'A cuddly theme that offers extra fluffiness.' core: 8.x libraries: - fluffiness/global-styling base theme: classy regions: header: Header content: Content sidebar_first: 'Sidebar first' footer: Footer
Op je Drupal-site kun je meer voorbeelden van .info.yml-bestanden vinden in de door core meegeleverde thema’s. Kijk bijvoorbeeld in de map core/themes/stark en open het bestand stark.info.yml.
Sleutel/waarde-paren
De volgende sleutel/waarde-paren leveren metadata over je thema en definiëren enkele basisfunctionaliteiten. (Zie \Drupal\Core\Extension\InfoParserInterface::parse().)
- name (verplicht)
- type (verplicht)
- description (optioneel)
- package (optioneel)
- core (verplicht)
- php (optioneel)
- version (optioneel)
- libraries (optioneel)
- libraries-override (optioneel)
- libraries-extend (optioneel)
- base theme (aanbevolen)
- hidden (optioneel)
- engine (optioneel)
- logo (optioneel)
- screenshot (optioneel)
- regions (optioneel)
- regions_hidden (optioneel)
- features (optioneel)
- stylesheets-remove (niet aanbevolen)
- ckeditor_stylesheets (optioneel)
name – naam (verplicht)
Leesbare naam, verschijnt op de pagina “Weergave”.
name: Fluffiness
type – type (verplicht)
Geeft het extensietype aan: “module”, “theme” of “profile”. Voor thema’s altijd “theme”.
type: theme
description – beschrijving (optioneel)
description: An extra cuddly Drupal theme available in grey and blue.
package – pakket (optioneel)
package: Core
core (verplicht)
core: 8.x
php (optioneel)
php: 5.5.9
version – versie (optioneel)
version: 8.x-1.0
libraries (optioneel)
libraries: - fluffiness/global-styling
libraries-override (optioneel)
libraries-override:
contextual/drupal.contextual-links:
css:
component:
/core/themes/stable/css/contextual/contextual.module.css: false
libraries-extend (optioneel)
libraries-extend:
core/drupal.user:
- classy/user1
- classy/user2
base theme – basisthema (aanbevolen)
base theme: classy
hidden (optioneel)
hidden: true
engine (optioneel)
engine: twig
logo (optioneel)
logo: images/logo.png
screenshot (optioneel)
screenshot: fluffiness.png
regions (optioneel)
regions: header: Header content: Content sidebar_first: 'First sidebar'
regions_hidden (optioneel)
regions_hidden: - sidebar_last
features (optioneel)
features: - comment_user_verification - comment_user_picture - favicon - logo - node_user_picture
stylesheets-remove (niet aanbevolen)
stylesheets-remove: - core/assets/vendor/normalize-css/normalize.css - '@classy/css/components/tabs.css'
ckeditor_stylesheets (optioneel)
ckeditor_stylesheets: - https://fonts.googleapis.com/css?family=Open+Sans - css/base/elements.css
Meer informatie
- Stylesheets (CSS) en JavaScript (JS) toevoegen aan een Drupal 8-thema
- Volledige uitleg van alle beschikbare sleutels in *.info.yml: Laat Drupal 8 weten over je module met een .info.yml-bestand
- Change record: .info-bestanden zijn nu .info.yml-bestanden