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

Articles

20/06/2025, by Ivan

Im Gegensatz zu Drupal 7 ist das Erstellen mehrerer Blockinstanzen zur Platzierung auf Ihrer Website in Drupal 8 eine einfache Aufgabe.

In diesem Leitfaden erfahren Sie, wie Sie programmgesteuert einen Block zur Block-Layout-Oberfläche hinzufügen, wie Sie ein (administratives) Konfigurationsformular in den Block integrieren und es verarbeiten. Schließlich erfahren Sie, wie Sie Standard-Konfigurationswerte für das Formular hinzufügen und anzeigen.

20/06/2025, by Ivan

Nun wollen wir also die Möglichkeit hinzufügen, dass der Site Builder für jede Instanz unseres benutzerdefinierten Blocks einen Teil der Konfiguration eingibt. Denken Sie immer daran, dass alle Site-Building-Konfigurationen in Drupal 8 von der Entwicklungsseite exportiert und auf die Live-Seite importiert werden können (bekannt als Konfigurationsverwaltung). Als Modulbauer können Sie auch eine Standardkonfiguration bereitstellen, die das Formular automatisch ausfüllt, wenn der Site Builder einen neuen Block erstellt.

20/06/2025, by Ivan

Fügen Sie die folgende Methode zur Klasse HelloBlock hinzu. In diesem Beispiel befindet sie sich in der Datei src/Plugin/Block/HelloBlock.php, aber sobald Sie anfangen, mehr objektorientiert zu denken, ist der physische Speicherort in der Dateistruktur weniger wichtig als der Namespace. Wenn Sie ein sehr erfahrener OO-Programmierer sind, halten Sie beide eng synchronisiert.

20/06/2025, by Ivan

Um die Konfiguration von Block-Instanzen zu verwenden, können wir die Methode build() der Klasse HelloBlock wie folgt ändern:

  /**
   * {@inheritdoc}
   */
  public function build() {
    $config = $this->getConfiguration();

    if (!empty($config['hello_block_name'])) {
      $name = $config['hello_block_name'];
    }
    else {
      $name = $this->t('to no one');
    }

    return [
      '#markup' => $this->t('Hello @name!', [
        '@name' => $name,
      ]),
    ];
  }

 

20/06/2025, by Ivan

Dieses Tutorial wurde ursprünglich auf Web Wash veröffentlicht. Allerdings fragte Berdir, ob ich das Tutorial hier veröffentlichen könnte, also ist es jetzt hier.

Ein Modul in Drupal 7 ermöglicht das Speichern von Code-Beispielen/Snippets in einem Feld. Es enthält ein benutzerdefiniertes Feld namens „Snippets Field“ und zeigt drei Formularelemente an: Beschreibung, Quellcode und Syntax-Hervorhebungsmodus (welche Programmiersprache).

20/06/2025, by Ivan

Feldtypen definieren die Eigenschaften und das Verhalten von Feldern. Feldtypen werden als Plugins definiert, daher empfiehlt es sich, die Plugin-API zu studieren, bevor man einen neuen Feldtyp schreibt.

Um einen Feldtyp in Drupal 8 zu erstellen, benötigen Sie eine Klasse mit der Annotation FieldType.

Der Speicherort der Feldtyp-Klasse sollte in MODULE_NAME/src/Plugin/Field/FieldType liegen.
Beispiel: /modules/foo/src/Plugin/Field/FieldType/BazItem.php