logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

Definition des Themas mit einer .info.yml-Datei

19/06/2025, by Ivan

Um ein Drupal-8-Theme zu erstellen, müssen Sie zunächst eine Datei THEMENAME.info.yml anlegen, die Metadaten zu Ihrem Theme in Drupal bereitstellt. Dies ähnelt der Definition von Modulen und Installationsprofilen, weshalb es wichtig ist, im file.info.yml die Schlüssel „type“ auf „theme“ zu setzen, um es zu unterscheiden.

Diese Seite enthält ein Beispiel für eine THEMENAME.info.yml-Datei und eine Übersicht über die darin enthaltenen Informationen.

Erstellen Sie die Datei .info.yml

Erstellen Sie die .info.yml-Datei im Stammverzeichnis des Verzeichnisses Ihres Themes. Der Ordner muss denselben Namen wie die .info.yml-Datei tragen. Wenn Ihr Theme also „Fluffiness“ heißt, heißt der Ordner „fluffiness/“ und die .info.yml-Datei „fluffiness/fluffiness.info.yml“. Wenn die Datei mit den minimal erforderlichen Eigenschaften (Name, Typ und Core) vorhanden ist, wird Ihr Theme auf Ihrer Webseite unter „Verwalten > Darstellung“ (http://example.com/admin/appearance) angezeigt. Achten Sie darauf, einen Themennamen zu wählen, der noch nicht von einem Modul oder einem anderen Theme verwendet wird. Der Themenname muss in den Drupal-Einstellungen eindeutig sein. Andernfalls werden die Theme-Komponenten nicht korrekt geladen.

Ersetzen Sie Leerzeichen im Themennamen durch Unterstriche im Ordnernamen (und im .info.yml-Dateinamen).

Wenn Sie mit der YAML-Dateistruktur nicht vertraut sind, lesen Sie bitte eine kurze Einführung in das YAML-Dateiformat.

  • Tabs sind NICHT erlaubt. Verwenden Sie NUR Leerzeichen.
  • Eigenschaften und Listen MÜSSEN mit zwei (2) Leerzeichen eingerückt sein.

 

Beispiel

name: Fluffiness
type: theme
description: 'Ein kuscheliges Theme, das extra Flauschigkeit bietet.'
core: 8.x
libraries:
  - fluffiness/global-styling
base theme: classy
regions:
  header: Header
  content: Content
  sidebar_first: 'Sidebar first'
  footer: Footer

Auf Ihrer Drupal-Seite finden Sie weitere Beispiele für .info.yml-Dateien, indem Sie sich die von Core bereitgestellten Themes ansehen. Öffnen Sie beispielsweise den Ordner core/themes/stark und suchen Sie die Datei stark.info.yml.

Schlüssel/Wert-Paare

Die folgenden Schlüssel/Wert-Paare liefern Metadaten über Ihr Theme und definieren einige grundlegende Funktionen. (Siehe \Drupal\Core\Extension\InfoParserInterface::parse())

 

name – Name (erforderlich)

Der menschenlesbare Name. Er erscheint auf der Seite „Darstellung“, auf der das Theme aktiviert wird.

name: Fluffiness

type – Typ (erforderlich)

Gibt den Erweiterungstyp an, z. B. „Modul“, „Theme“ oder „Profil“. Für Themes muss dies immer „theme“ sein. Die Angabe ist case-sensitive.

type: theme

description – Beschreibung (optional)

Beschreibung, die auf der Seite „Darstellung“ angezeigt wird.

description: Ein extra kuscheliges Drupal-Theme in Grau und Blau.

package – Paket (optional)

Definiert ein „Paket“, mit dem Themes gruppiert werden können.

package: Core

core (erforderlich)

Definiert die Drupal-Core-Version, mit der das Theme kompatibel ist.

core: 8.x

php (optional)

Erforderliche minimale PHP-Version. Standardmäßig wird der Wert der Konstante DRUPAL_MINIMUM_PHP verwendet.

php: 5.5.9

version – Version (optional)

Definiert die Version. Für auf drupal.org gehostete Themes wird die Versionsnummer vom Packagerskript ausgefüllt. Geben Sie diese nicht manuell an, sondern lassen Sie die Versionszeile ganz weg.

version: 8.x-1.0

libraries – Bibliotheken (optional)

Liste der Bibliotheken (die sowohl CSS- als auch JavaScript-Ressourcen enthalten können), die auf allen Seiten geladen werden, auf denen das Theme aktiv ist. Mehr zu Themes und Asset-Bibliotheken erfahren Sie hier.

libraries:
  - fluffiness/global-styling

libraries-override – Bibliotheken-Override (optional)

Sammlung von Bibliotheken und Ressourcen, die überschrieben werden. Mehr lesen zu überschreibenden und erweiternden Bibliotheken.

libraries-override:
  contextual/drupal.contextual-links:
    css:
      component:
        /core/themes/stable/css/contextual/contextual.module.css: false

libraries-extend – Bibliotheken-Erweiterung (optional)

Sammlung von Bibliotheken und Ressourcen, die beim Anhängen einer Bibliothek hinzugefügt werden. Mehr lesen zu überschreibenden und erweiternden Bibliotheken.

libraries-extend:
  core/drupal.user:
    - classy/user1
    - classy/user2

base theme – Basistheme (empfohlen)

Ein Theme kann Ressourcen von einem anderen Theme erben, indem es dieses als Basistheme angibt. Es wird empfohlen, „classy“ oder „stable“ (standardmäßig „stable“, wenn kein Schlüssel angegeben) zu verwenden – so wird Ihre Theme leichter zukünftige Änderungen im Core-Theme erben können.

base theme: classy

hidden (optional)

Gibt an, ob das Theme auf der Seite „Darstellung“ verborgen werden soll, sodass es nicht über die Benutzeroberfläche aktiviert oder deaktiviert werden kann.

hidden: true

engine (optional)

Thematischer Engine-Typ. Standardmäßig wird „twig“ verwendet.

engine: twig

logo – Logo (optional)

Siehe Change Record: https://www.drupal.org/node/2939152

Pfad zum Logo relativ zur .info.yml-Datei des Themes. Standardmäßig sucht Drupal nach einer Datei namens „logo.svg“ im Stammverzeichnis Ihres Themes und verwendet diese als Theme-Logo.

logo: images/logo.png

screenshot – Screenshot (optional)

Pfad zum Screenshot relativ zur .info.yml-Datei des Themes. Screenshots sollten 588 Pixel breit und 438 Pixel hoch sein, auch wenn sie kleiner angezeigt werden. Standardmäßig sucht Drupal im Stammverzeichnis Ihres Themes nach „screenshot.png“ und verwendet diese Datei als Vorschaubild auf der Seite „Darstellung“.

screenshot: fluffiness.png

regions – Regionen (optional)

Liste der Theme-Regionen. (Beachten Sie, dass den Regionenschlüsseln kein Bindestrich vorangestellt wird.) Mehr über das Hinzufügen von Regionen zum Theme erfahren.

regions:
  header: Header
  content: Content
  sidebar_first: 'First sidebar'

regions_hidden (optional)

Liste der geerbten Regionen, die entfernt werden sollen.

regions_hidden:
  - sidebar_last

features – Funktionen (optional)

Liste von Funktionen, die auf der Theme-Seite „Einstellungen“ angezeigt werden können.

features:
  - comment_user_verification
  - comment_user_picture
  - favicon
  - logo
  - node_user_picture

stylesheets-remove – Stylesheets entfernen (nicht empfohlen)

Liste von Stylesheets aus anderen Modulen oder Themes, die auf allen Seiten entfernt werden sollen, auf denen das Theme aktiv ist. Jeder Wert muss ein vollständiger Pfad relativ zum Dokument sein, um Mehrdeutigkeiten zu vermeiden, falls mehrere Dateien mit demselben Namen existieren. Wenn die Datei Teil einer Bibliothek eines Moduls oder Themes ist, kann anstelle des vollständigen Pfads ein Token in der Form @module_or_theme_name verwendet werden. Beachten Sie, dass bei Verwendung eines Tokens der Wert in Anführungszeichen stehen muss, da „@“ ein reserviertes Zeichen in YAML ist. Hinweis: Dieser Schlüssel ist veraltet und wird in Drupal 9 entfernt. In den meisten Fällen sollte stattdessen libraries-override verwendet werden.

stylesheets-remove:
  - core/assets/vendor/normalize-css/normalize.css
  - '@classy/css/components/tabs.css'

ckeditor_stylesheets (optional)

Liste der Stylesheets, die in den CKEditor-Frame geladen werden.

ckeditor_stylesheets:
  - https://fonts.googleapis.com/css?family=Open+Sans
  - css/base/elements.css

Mehr Informationen

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.