Um ein eigenes Modul für Drupal zu erzeugen braucht es nicht viel. Grundsätzlich sollen eigene Module im Drupal-Verzeichnissystem in sites/all/modules/eigene_Bezeichnung erstellt werden. Wenn das Verzeichnis modules nicht existiert, lege es einfach an.
Wenn Module nicht für alle Seiten (bei Multisite-Systemen) benötigt werden, kann auch für eine spezielle Seite ein eingenes Verzeichnis angelegt werden. Dazu wird im Verzeichnis sites ein Unterverzeichnis mit der Bezeichnung der neuen Seite eingerichtet, z. B. sites/webauftritt2.de. Für ein eigenes Modul werden folgende Dateien benötigt:
Zusätzlich können weitere Dateien notwendig sein. So können ohne Probleme .inc-Dateien oder eigene CSS-Dateien eingebunden werden. Schaut man sich das Modulverzeichnis an:

Wie man sieht ist hier nur eine Standard-Installation ohne zusätzlich Module. Im ersten Versuch geht es nur darum, ein Modul zu schreiben das in das Admin-Menü eingeblendet wird und eine Ausgabe generiert.
Das Modul soll noch nichts großartiges veranstalten. Das erste Modul soll "ersterinhalt" heißen.
Das .info-File kann mit jedem Editor geschrieben werden. Ich benutze die Freeware-Version von PHP-Designer von MK-Soft. Damit erstelle ich auch alle anderen Scripte (wenn nicht weise ich darauf hin). Das .info-File folgt der .ini-Syntax. Genaueres kann man unter php.net erfahren. Die genaue Definition ist unter Drupal-Info-File-Beschreibung nachzulesen. Hier das wichtigste: Das File beginnt mit der Beschreibung ; $Id$ Das ungewöhnliche daran ist das die Komentare mit ein ; eingeleitet werden. Nach dem ; folgt die erste Erklärung, diese beginnt und endet mit einem $. Hier ein Beispiel:
; $ Id: ersterinhalt.info, UwBach, 2008/04/14 $
name = ersterinhalt
description = Erzeugt einen Eintrag im Admin-Menue
package = "AA"
version = "$Name$"
project = "Uwe_Test"
datestamp = "1207381502"
Nun noch einige Erklärungen zu den einzelenen Punkten:
$Name$ sein. Wird das Modul nicht hochgeladen kannst du machen was du willst.core = 6.x. ; $ Id: ersterinhalt.info, UwBach, 2008/04/14 $
name = ersterinhalt
description = Erzeugt einen Eintrag im Admin-Menue
package = "AA"
version = "$Name$"
project = "Uwe_Test"
datestamp = "1207381502"
core = 6.x Jetzt ist alles bereit und wir können ein Verzeichnis anlegen - sites/all/modules/ersterinhalt. Darin wird unsere Datei unter dem Namen ersterinhalt.info abgespeichert. Das war der erste Schritt ...
Der nächste Schritt ist das .module-File zu erstellen. In diesem File sind alle Funktionen abgelegt. Um einen Eintrag im Administration-Menü zu erstzeugen brauchen wir nicht viel: <?php // $ID$ Den Snipsel speichern unter ersterinhalt.module und fertig. Das Script muss natürlich wieder im Verzeichnis sites/all/modules/ abgespeichert werden.
/**
* @file
* Irgendeine Beschreibung
*/
Ruft man jetzt den "Administer -> Site building -> Modules" (h t t p://.../admin/build/modules) auf, sieht man schon das neue Modul.

Natürlich haben wir noch keine Funktionalitäten zur Verfügung und guter Stiel ist das auch nicht.
Es gibt hier aber schon einige Besonderheiten zu sehen. So wird die Datei, wie bei PHP-Scripten üblich mit <?php eröffnet, allerdings fehlt das schließende Tag ?>. Der erste Dokumentationsblock /** muss eine Leerzeile zur //$Id$ haben.
Des weiteren soll genau ein Leerschritt in den folgenden Zeilen zwischen dem Zeilenbeginn dem * und ein Leerschritt zur Beschreibung eingehalten werden.
Das ist wieder nur dann erforderlich, wen ggf. mal ein Script an "Drupal.org" gegeben werden soll. Hierfür ist auch das Tag @file gedacht. Es sollte schon darauf geachtet werden, es kann sonst zu Problemen mit bestimmten Includes führen (siehe Drupal.org).
Aber nun soll es darum gehen Inhalte in das .module-File zu bringen. Dafür muss ich etwas weiter ausholen ...
Zum Nachmachen ist das Beschriebene im Anhang ..
| Anhang | Größe |
|---|---|
| ersterinhalt.zip | 630 Bytes |