Kommentare aus der AMAZONAS-Box
Politik und Technik aus München - Pazifistisch
mit dem Fahrrad (Peace, cycling and more)

Drupal - Themes und Templates

Samstag, 27.5.2006    

Diese Seite läuft ja noch mit Drupal Version 4.5 (http://drupal.org/) - höchste Eisenbahn daß was geschieht.

4.5 läuft zwar gut, aber es gibt Gründe für die Aktualisierung auf neue Versionen (jetzt: 4.7.1):

  • keine Pflege mehr für diese Version (gerade heute angekündigt), d.h. keine Sicherheitsspatches
  • Ich will noch viele weitere Dinge von Drupal erledigen lassen, hier und bei der BIFA, und die Module gibts nur richtig für neuere Versionen
  • und überhaupt lohnt sich vielleicht die Weiterentwicklung

Und dazu brauche ich ein aktualisiertes Template ...
Ich hatte das aktuelle Template aus einer Vorlage modifiziert - und als es mit dem Versionswechsel 4.6 nicht länger "unmodifiziert" lauffähig war, fror ich die Version ein, das war aber keine so gute Idee.
Es brachte mich aber "über die Runden" mit diesem Blog. Die erwähe BIFA-Seite startete dann mit 4.6. Allerdings mit Zeitdruck, und nicht mit allen geplanten Funktionen, und da jetzt Version 4.7 aktuell ist, werde ich erst die neue Version studieren (hier), bevor ich bei der BIFA die fälligen Veränderungen anbringe. Und ds beginnt mit der Überarbeitung des "Themes".

Themes und Templates

"Vorlagen" oder "Schema" sagt man wohl am besten auf Deutsch?, im deutschen Drupal-Menü heißt es "Designs".

Bekanntlich werden in einem CMS wie Drupal die Daten aus der Datenbank geliefert und in ein festgelegtes Schema eingebaut, womit das äußere Erscheinungsbild festgelegt wird.

Für die Entwicklung solcher Vorlagen dienen bei Drupal "Themes". Sie können direkt in PHP erstellt werden, unter Benutzung einer entsprechenend Funktionsbibliothek. Die Alternatives sind sog. "Engines" - das sind Hilfsskripte, die bestimmte schematisierte Aufrufe abarbeiten.

Die Standard-Engine für Drupal ist jetzt "PHP-Template". Der Unterschied zur erwähnten direkten PHP-Gestaltung erscheint mir gar nicht so groß, man muß sich halt entscheiden.

Die andere Enscheidung ist die Frage, wie das Layout der Seite intern festgelegt wird: Die moderne CSS-Lösung verzichtet auf (zweckentfremdete) Tabellen, sondern setzt die Positionierung per "<div>" ein.
Browser "früherer Generationen" - am berüchtigsten Netscape 4, aber auch so illustre Nischen wie Cab auf dem Atari ;-) machen aber daraus eine problematische Darstellung.

Ich hab das ausprobiert. Ich hab gelegentlich noch an alten UNIX-Workstations zu tun, und auch mein "Atari-Museum" bleibt (irgendwie) in Betrieb. Wenn ich für die Darstellung ganz auf Tabellen verzichte, erscheint der Inhalt von Seitenspalten und anderen "Regionen" nicht neben- sondern untereinander am Bildschirm. Benutzbar, aber oft mühsam.

Also: Ich starte weiter mit 1 (i.W. "einer") Tabelle, die nur zur Festlegng von Seitenspalten verwendet wird - und das kann man ja schon fast als "richtige" Tabelle betrachten. Alle Struktur "darunter" wird aber voll "auf der Höhe der Zeit" realisiert. Schon die jetzige Seite hat einen W3C-Validierungsbutten (rechte Spalte weit unten), und ich mache davon Gebrauch.

Von den 4 Optionen:
* PHP direkt - via Engine
* mit - ohne Tabellenlayout
wähle ich für den Start wieder: PHP direkt+Tabelle. Da aber viele Sachen dabei sowieso ähnlich sind (z.B. weite Teile des Stylesheete sind dabei gleich), kann die anderen Varianten relaiv einfach vergleichen. "nach außen" muß man (soll man) davon gar nix merken.

Natürlich habe ich das alte Template, das ich halt an die neue Schnittstelle anpasse, das ich aber inzwischen doch dazu lernte, baue ich das Design wiede neu ("clean") auf. Wie gesagt, "draußen" soll man davon nicht viel merken.

Das übrige Upgrade 4.5 -> 4.7 ist ein Thema für sich, ich werde berichten.