module

Eigene Formulare ändern und umgestalten mit hook_form_alter()

Wie man ein Formular erstellt und wie man dieses dann gestalten kann, war bereits Thema vergangener Artikel. Die Form API stellt aber noch weitere nützliche Funktionen zur Verfügung. Eine davon nennt sich hook_form_alter und kann dafür genutzt werden Tabellen vor ihrem Rendering zu verändern. Das kann nützlich sein, wenn man zwei Module geschrieben hat, wovon Modul A ein Formular bereitstellt und Modul B - wenn aktiviert - dieses Formular verändern oder erweitern soll. Hier ein Beispiel...

Eigene Drupal Formulare themen mit hook_theme(), theme() und drupal_add_tabledrag()

Wie man eigene Formulare in Drupal erstellt, wurde in diesem Artikel hier gezeigt. Wenn man in einem Formular aber viele Daten abfragen möchte, kann es Sinn machen das Formular als eine Tabelle darzustellen. Wie man das macht, möchte ich am Beispiel eines Moduls zeigen, das ich vor kurzem programmiert hab: die Iconbar.

Drupal Module programmieren - Datenbankabfragen mit Views

Das Views-Modul für Datenbankabfragen zu verwenden kann einige Vorteile haben. Die Datenbankstrukturen in einer Drupal Installation sind nicht immer besonders beständig. Das CCK Modul beispielsweise erstellt oft sehr komische Querverweise und generiert neue Spalten in bereits bestehenden Tabellen. Eine Datenbankabfrage dafür selber zu erstellen wird wahrscheinlich dazu führen, das beim nächsten CCK Update nichts mehr funktioniert. Die Views API hingegen meistert so etwas tadellos. Aber genug um den heißen Brei herum geredet. Hier eine kurze Anleitung, wie es geht:

Drupal Module programmieren - Installationsdateien

Oft kommt man bei der Programmierung von Modulen nicht darum herum, Veränderungen in der Datenbank vorzunehmen. Sei es um Platz für Benutzereingaben zu schaffen, oder um Tabellen zu erstellen die Verbindungen zwischen anderen Inhalten herstellen sollen. Da man es dem Anwender eines Moduls nicht zumuten kann, alle notwendigen Tabellen per Hand zu erstellen, kann man einem Modul eine Installationsdatei hinzufügen, die diese Arbeit übernimmt.

Drupal Module programmieren - Autotag Teil 3 (Das Modul)

Was wir zuerst brauchen ist ein Taxonomie-Vokabular, in dem unsere Tags gespeichert werden können. Also einfach eins anlegen unter admin/content/taxonomy. Name, Beschreibung, Inhaltstypen sind alle egal. Stellt es so ein, wie ihr es braucht. Unter Einstellungen macht einen Haken bei Tags und Mehrfachauswahl und lasst Erforderlich frei. Wir wollen den Benutzer ja nicht zwingen etwas einzugeben, sondern wollen automatisch Tags hinzufügen, wenn er es nicht tun will oder vergisst.

Drupal Module programmieren - Autotag Teil 1 (Dateistruktur)

Module sind das Herzstück des Content Management Systems Drupal. Nach der reinen Installation ist das CMS erstmal leer und langweilig. Es sind die Module, die Leben in die Sache bringen. Auch wenn die Drupal Community unzählige extrem nützliche Module zur Verfügung stellt, kommt es schonmal vor, dass man vergeblich sucht, aber nicht das richtige findet. In dem Fall kommt man nicht darum herum, ein eigenes Modul zu programmieren. Zum Glück ist das einfacher als man denkt. Wer Kenntnisse in PHP und SQL hat, sollte keine Probleme damit haben. Eigentlich muss man nur lernen, sich eine handvoll von Drupal zu Verfügung gestellter Funktionen zu nutze zu machen, und ein paar Grundregeln zu beachten. Die erste davon betrifft die Dateistruktur.