logo

Palette - Mach es bunt🎨

Palette - Visueller Page Builder. Keine Designkenntnisse nötig.

Live-Demo Palette 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);
}