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

Drupal-Modul erstellen – schneller Einstieg

26/05/2025, by Ivan

Wir beginnen mit api.drupal.org, öffnet die Seite des Hooks hook_node_presave(), der vor dem Speichern eines Nodes ausgelöst wird.

http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7

Hooks ermöglichen es uns, unseren Code in den normalen Ablauf von Drupal einzubinden, Prüfungen hinzuzufügen, Datenfelder, Formularelemente usw.

Wir legen unser Modul im Ordner sites/all/modules an:

sites/all/modules/custom/

sites/all/modules/custom/custom.info

sites/all/modules/custom/custom.module

In der Datei custom.info schreiben wir:

name = Custom
description = Custom
core = 7.x

In der Datei custom.module prüfen wir, ob das Body-Feld Inhalt hat. Ist es leer, geben wir einen Fehler aus (obwohl man das auch in der Drupal-Admin-Oberfläche als Pflichtfeld einstellen könnte, aber...):

custom.module

<?php

function custom_node_validate($node){
  if (empty($node->body['und'][0]['value'])) {
    form_set_error('node-body', 'Body is empty');  // Fehler ausgeben und Node nicht speichern
  }
}

In unserem Fall ist die Sprache auf der Seite nur eine, und zwar 'und' (undefined, undefiniert). Wir prüfen also das erste Textarea-Feld von body (es können mehrere Textareas für Felder eingestellt werden).

Nutze das Modul devel und dessen Funktion dsm(), um Objekte oder Arrays als Meldung auf dem Bildschirm auszugeben:

<?php

function custom_node_view($node){
  dsm($node);
}