Building Drupal Blocks

Views und CCK kennt jeder. Sie gehören schon fast zu einer Webseite und das wird sich in Zukunft noch verstärken, da CCK Teil von Drupal Core ist. Niemand zweifelt an diesen Modulen, viele kennen und verstehen sie und wissen, wie sie eingesetzt werden müssen. So auch ich.

Meiner Meinung nach gibt es noch andere Module, welche eine ähnliche Wichtigkeit haben und welche man genau so verstehen sollte: Panels/Display Suite, Rules und Features.

Ziel von Drupal oder auch einem jedem anderen Framework sollte sein, die Webseitenerstellung zu abstrahieren und zu vereinfachen (eigentlich so, wie das Frontpage mal gemacht hat). In Drupal gibt es dazu die folgenden Module:

CCK

Ist unser Datenmodell-modelier-tool. Damit können wir definieren, wie unsere Inhalte ausschauen, wobei ein zentrales Interface vorhanden ist (der Node). Bespiele müssen an dieser Stelle nicht erwähnt werden.

Views

Ist Datenmodell-abfrage-tool bzw. unser Query-Builder. Es lassen sich mit Views relativ komplexe Queries bauen. Zusätzliche Features ist der eingebaute Templatingmechanismus, sowie die Cachingmöglichkeiten. Das Gute daran: Views und CCK spielen ausgezeichnet zusammen.

Panels/Display Suite

Die Seite gestalten. Weder Views noch CCK sind dazu geeignet. Eine gängige Möglichkeit sind die .tpl Dateien aus dem Theme, aber dann wiederum hat man das Problem, dass gewisse Strukturen ans Theme gebunden sind, was nicht immer wünschenswert ist. Im Weiteren ist es aufwändig diese solche Seiten zu warten und die Flexibilität ist auch nicht die beste (komplexe Sites können eine beachtliche Anzahl an tpl Dateien erfordern). Was also sonst? Eben Panels oder/und Display Suite.

Ich habe immer ein wenig eine Abneigung gegen Panels gehabt. Keine Ahnung warum. Seit ich mich jedoch ein bisschen eingängiger damit beschäftigt habe, bin ich schwer begeistert. Die Display Suite ist super einfach, aber nicht ganz so umfangreich. Sie bezieht sich auf Nodes, Kommentare, Users usw. Panels dagegen geht weiter, es lassen sich ganze Seiten damit gestalten, dazu lassen sich auch Beziehungen zwischen Nodes abbilden… super! Vielleicht mache ich hier mal wieder ein kleines Screencast oder Tutorial

Rules

Aktionen. Workflows abbilden oder irgendwelche sonstigen Ereignisse. Rules ist dein Freund. Ein super mächtiges Werkzeug, welches auch Zeitsteuerung erlaubt (aber das ist leider nicht ganz so eingängig).

Features

Und zu guter letzt: Mein Freund Features, der das Leben so viel einfacher macht. Glücklicherweise unterstützen all diese Module Features. Features erlaubt es, Funktionalität/Struktur zu bündeln und somit auf anderen Seiten wieder einzusetzen. Ich könnte also z.B. ein Bildergalerie Feature basierend auf Views und CCK und Display Suite machen und dann das in ein Feature bündeln und auf einer anderen Seite wieder verwenden.

Kennt man all diese Module und weiss wie damit umgehen, dann hat man schon seeeehr viel gewonnen!