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

6.2. Woraus ein Drupal 8 Theme besteht. Überblick über das Stark-Theme.

27/05/2025, by Ivan

In Drupal 7 konnte man schnell und einfach ein Subtheme auf Zen-Basis erstellen und mit dem Aufbau der Website beginnen. Seit Drupal 8 gibt es ebenfalls mehrere Theme-Builder zur Erstellung eigener Themes. Bevor man jedoch ein Subtheme darauf erstellt, muss man sich ein wenig darüber informieren, wo was liegt.

Die Drupal-Entwickler schlagen vor, das Beispielthema Stark zu betrachten. Dieses Thema wurde zu Drupal hinzugefügt, um sich mit der Anordnung eines Themes vertraut zu machen. Schauen wir, was sich in diesem Theme befindet:

Stark.info.yml Datei

Wir beginnen die Betrachtung mit der Datei stark.info.yml. Früher, in Drupal 7, wurden Theme-Daten in .info-Dateien gespeichert, in Drupal 8 wird überall YML verwendet, daher heißt die .info-Datei jetzt info.yml im YML-Format. Im YML-Format werden Schlüssel und Werte durch einen Doppelpunkt getrennt.

Name des Themes:

name: Stark

Der Projekttyp kann Theme oder Modul sein. Wir haben hier ein Theme.

type: theme

Beschreibung, die auf der Seite mit dem Theme angezeigt wird:

description: 'Ein bewusst schlichtes Theme ohne Styling, um das Standard-HTML und CSS von Drupal zu demonstrieren. Lernen Sie, wie Sie ein eigenes Theme basierend auf Stark im Theming Guide erstellen.'

Gruppierung von Drupal-Projekten zur besseren Übersicht, z.B. wenn Module eingebunden sind, werden diese in Tabs gruppiert:

package: Core

Die Version für Contrib-Module wird automatisch gesetzt, daher ist hier die VERSION-Variable auskommentiert. Tatsächlich wird die Version weiter unten aufgeführt:

# version: VERSION

Die Core-Version von Drupal ist ebenfalls auskommentiert und wird automatisch von drupal.org eingefügt:

Für Drupal 8.8 und höher:

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

Für Drupal 8.8 und darunter:

# core: 8.x

Ob ein Basistheme verwendet wird oder nicht, false bedeutet, dass kein Basistheme genutzt wird:

base theme: false

Der Block mit der Theme-Version und Core wird automatisch von drupal.org eingefügt:

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

Datei stark.libraries.yml

Hier binden wir die CSS- und JS-Dateien des Themes ein:

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

Wir können auch Javascript-Dateien einbinden:

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

Es ist außerdem zu beachten, dass jQuery inzwischen optional ist und möglicherweise nicht auf der Seite geladen wird. Wenn Sie jQuery in Ihrem eigenen Skript verwenden möchten, müssen Sie es im Theme einbinden:

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

Außerdem kann man für CSS-Dateien angeben, welche Dateien immer und welche nur in der Druckversion angezeigt werden sollen:

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

Beschreibung Dateien README.txt, screenshot.png

Diese Dateien zeigen, wie das Theme aussieht und wie es installiert wird, falls es Besonderheiten bei Installation oder Nutzung gibt.

Logo.svg Datei

Die Logodatei wird automatisch im Design des Themes eingebunden, wenn sie im Root-Verzeichnis der Seite liegt. Alternativ kann das Logo auch über die Theme-Einstellungen eingebunden werden.

Config-Ordner und stark.schema.yml Datei

Eine weitere YML-Theme-Datei, in der Theme-Einstellungen gespeichert werden. Für das Stark-Theme ist hier nur der Titel für die Einstellungsseite des Themes enthalten.

Ordner css, js

In diesen Ordnern werden eigene CSS- und Javascript-Dateien abgelegt. Beachten Sie, dass es nicht reicht, Dateien nur in die Ordner zu legen – jede Datei muss separat über stark.libraries.yml eingebunden werden.

Datei stark.breakpoints.yml

Diese Datei definiert die Bildschirmgrößen für die mobile Version der Website. Dies ist eine neue Funktion in Drupal, die wir in einem der nächsten Artikel detailliert behandeln werden.

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

Hier ist ein Theme, um sich mit Stark vertraut zu machen. Im nächsten Artikel werden wir anschauen, wie man ein eigenes Theme basierend auf dem Stable-Theme erstellt.