drupal

Drupal Standard-Startseite (River of news) entfernen

Die Drupal Startseite besteht standardmäßig aus einem sogenannten River of news, eine Auflistung der neusten Beiträge im CMS. Zwei Möglichkeiten bietet das System von Haus aus, damit umzugehen: Anzahl an Beiträgen für die Startseite beschränken oder einen einzelnen Beitrag als Startseite festlegen. Mit dem Views-Modul kann man zusätzlich eine eigene Ausgabe zusammenkonfigurieren und diese dann als Startseite definieren. Wer aber seine Startseite gerne ohne einen extra dafür angelegten Beitrag (z.B. nur mit Blöcken) zusammenstellen möchte, ist gekniffen. Leider ist das genau der Weg, den ich bei jedem Projekt einschlagen muss. Zum Glück ist in Drupal 7 der Haupt-Seiteninhalt ebenfalls ein Block. Einfach deaktivieren (oder nur für <front> deaktivieren) geht aber dummerweise nicht. Abhilfe gibts - wie so oft - über einen Hook...

Drupal Standard-Menütiefe (MAX_MENU_DEPTH) anpassen

Die maximale Menütiefe in Drupal ist auf 9 gesetzt. Das kann schnell zuwenig sein, denn z.B. auch das Book-Module/Buch-Modul entleiht viel Code aus dem Menü-Modul. Die Menütiefe auf kleinere Werte zu beschränken ist ganz einfach mit

define(MAX_MENU_DEPTH, 9);

anzupassen. Schwieriger wird es, wenn man einen höheren Wert benötigt, um z.B. tiefer verschachtelte Bücher oder Dokumente mit dem Book-Modul zu erstellen. Hier kommt man um einen Core-Patch nicht herum.

Die "Drupal Pledge of Allegiance" war nicht viel mehr als eine enttäuschende Lüge

Mal ganz ehrlich: Was soll der Quatsch? Seit Monaten ist die Drupal Community, speziell die Modul-Seiten, voll von dem motivierten Versprechen: "I pledge that [Name des Moduls] will have a full Drupal 7 release on the day that Drupal 7 is released." Das war das riesige Problem beim Wechsel von Drupal 5 auf 6. Selbst 1 Jahr nach dem Release von Drupal 6 waren viele der wirklich wichtigen Drupal Module (wie z.B. XML Sitemap) noch nicht stabil für D6 verfügbar. Produktivseiten auf Drupal 6 zu releasen war quasi unmöglich.

SmartRunner Drupal Modul

Die erste funktionierende Version eines SmartRunner Drupal Moduls ist fertig. Da der Feed, der von SmartRunner zur Verfügung gestellt wird, etwas chaotisch ist, habe ich mit Hilfe des Aggregator-Moduls und Views Formatted Field ein kleines Modul geschrieben, das den Feed ausliest und auf einer eigenen Seite jeweils den Titel und die Streckenkarte anzeigt. Wie immer gibts noch viele Probleme (vor allem mit der Sortierung beim ersten Import), aber funktionieren tut es schon mal. Datei findet ihr im Anhang.

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.

Seiten