Die Funktionalität von Drupal lässt sich über Module erweiterten. Ein Modul besteht aus PHP Code und Konfigurations-Dateien für die Drupal API.
Ein Drupal Modul besteht mindestens aus
Diese Dateien werden von Drupal über vordefinierte Pfade gesucht ( z.B. Path „/sites/all/modules“ ) .

Danach können sie über das Drupal Modul-Administrationsmenü (#overlay=admin/modules) aktiviert werden.
Drupal stellt eine sehr umfangreiche Programmier-API bereit. Es gibt viele Drupal-System-Funktionen und sogenannten Hooks, die die Entwicklung von Drupal-Modulen sehr effizient und flexibel machen. Eine Referenz hierzu ist unter http://api.drupal.org/api/drupal zu finden.
Drupal stellt über seinen eingebauten Hook-Mechanismus die Möglichkeit bereit, sich an vordefinierten Stellen in die Verarbeitung eines Requests durch Drupal einzuhängen. D.h. Drupal sieht nach, ob ein Modul bestimmte Funktionen implementiert und führt diese während des Requests aus. Falls das Modul die Funktion
Beispiel für ein Drupal Modul:
Das Beispiel Modul soll einen Benutzer mit einer Nachricht begrüßen, sobald dieser sich eingeloggt hat. Name des Moduls soll „greating“ sein.
Zuerst wird ein Ordner mit der Bezeichnung „greating“ angelegt. In diesem Ordner wird ein File erstellt, der den Namen greating.info trägt und den folgenden Inhalt hat:
Die erste Zeile ist ein Platzhalter für das zentrale-Versionsmanagement von Drupal. Danach folgt die Angabe des Namens sowie der Beschreibung des Moduls. Diese Angaben werden auf der Modul-Administrationsseite ausgegeben.

Die „core“ und „php“ direktive geben an ab welcher PHP Version bzw. für welche Drupal Version das Modul genutzt werden kann.
Die Funktion des Drupal Moduls wird nun über den .modul File implementiert. Nach den Drupal coding Standards, welche unter http://drupal.org/coding-standards zu finden sind, wird zuerst eine API Dokumentation hinzugefügt.
Die .module Datei ist eine normale php-Datei, beginnend mit einem öffnenden ≤?php Tag. Nach den Drupal Coding Standards wird das php-End-Tag ab Version 4.7 absichtlich ausgelassen.
Die Zeile // $id$ ist wieder ein Platzhalter für die Versionsverwaltung.
Die @file Dokumentation-Prozessor Direktive gibt an, dass es sich um eine Beschreibung für die gesamte Datei handelt.
Des Weiteren kann über die Direktive @see eine Verlinkung durch den Dokumentation-Prozessor erstellt werden. So können hierüber Verlinkungen zu API-Informationen wie zum Beispiel Funktions-, Konstanten-, Variablen-Informationen oder zu einer angegeben URL geschaffen werden.
Nun kommen wir zur Implementierung der Funktion unseres Moduls:
//Benutzer begrüßen
drupal_set_message(‘Hallo :’.$account->name);
}
Beispiel Modul downloaden
Kommentare
Helrunar (nicht überprüft)
Mo, 11/07/2011 - 10:12
Permanenter Link
kleine Anmerkung
Ein schönes kurzes Tutorial zu einem Thema, was viele oft abschreckt. Jedoch, eine kleine Anmerkung zu // $id$
Wenn ich nicht ganz falsch liege, dann ist das noch ein Überbleibsel aus den csv-Zeiten und wird seit der Umstellung auf Git nicht mehr benötigt.
viele Grüße
Helrunar
Thomas Kämmerling
Sa, 11/19/2011 - 19:01
Permanenter Link
$id$
Hallo Helrunar,
vielen Dank. Ja das stimmt, das // $id$ Tag wird nicht nur nicht mehr benötigt es soll seit der Git migration entfernt werden.
Git Migration $ID Tags
Schöne Grüße
Thomas
Neuen Kommentar schreiben