Startseite
  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche
Startseite › Benutzerhandbuch › Entwicklung von Modulen und Themes › Theme Handbuch (Drupal 6) ›

Drupal 6 Theming für Eilige

Eingetragen von eigentor (1295) am 09.04.2009 - 08:27 Uhr in
  • Drupal 6.x

Dies ist die geupdatete Version für Drupal 6, Änderungen gegenüber Drupal 5 sind besonders erwähnt.

Für noch Eiligere: Theme nur mit einer CSS Datei

In Drupal 6 kann man ein Theme ausschliesslich mit dem Ordner, der den Namen des Themes trägt in /sites/all/themes , sowie einer .info Datei, einer style.css und einem screenshot.png für die Seite der Themeauswahl erstellen. Dies ist ein "CSS-Only-Theme". Ermöglicht wird das dadurch, dass für alle anderen Template Dateien die im Core vorhandenen verwendet werden, wenn man selber keine definiert. Dies ist eine Neuerung von Drupal 6. Da diese template-Dateien noch nicht perfekt optimiert wird, wird dies in Drupal 7 noch deutlich verbessert sein, damit man mit wirklich minimalem Aufwand ein Theme erstellen kann.

Etwas aufwändiger

Wie viel braucht es, damit ein Theme funktioniert? Je weniger, je lieber. Damit der Änfänger ein funktionierendes Theme aus seinem Html-Template machen kann, braucht es sehr wenig. Dreizehn Dinge braucht der Themer:

* einen Theme-Order namens Name_deines_Themes in /sites/all/themes, darin:
* die Datei Name_deines_Themes.info (neu in Drupal 6)
* die Datei style.css
* die page.tpl.php, die folgende Variablen enthalten muss:
* Headervariablen
* $title
* $messages
* $tabs
* $content
* $left
* $right
* $footer
* $closure

Genauer: die Headervariablen sind:

  <?php print $head ?>
<title><?php print $head_title ?></title> 
  <?php print $styles ?>
  <?php print $scripts ?>
  <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>

Achtung: ab Drupal 6.11 hat sich die Reihenfolge von
<?php print $head ?>
und
<title><?php print $head_title ?></title>
geändert, wie hier beschrieben: http://www.drupalcenter.de/node/18213
Die oben gezeigte Reihenfolge gilt ab Drupal 6.11

Die .info-Datei


Vielen Dank an Hagen Graf für das Bild, veröffentlicht als Creative Commons.

Die .info-Datei kann sehr kurz sein, wirklich benötigt sind nur die Einträge
name = Name_deines_Themes
core = 6.x
Allerdings darf es ein bisschen mehr ruhig sein. Ein durchschnittliches Info-File ist z.B. in der obenstehenden Grafik auf der rechten Seite sichtbar, oder in einem der Core Themes

Die Variable $title packt man im allgemeinen in den gleichen Container wie $content, am besten unmittelbar darüber. $messages wird benötigt, da sonst die Systemmitteilungen, z.B. daß der Artikel erfolgreich gespeichert wurde, nicht angezeigt werden. Dann $tabs, damit man die Tabs für "Bearbeiten" und "Anzeigen" angezeigt bekommt, wenn man eingeloggt ist.
Die Variable $content kommt - wohin wohl - in den Hauptinhaltsbereich.

Regions

$left (je nachdem $right, aber standardmässig findet sich die Navigation links) enthält das Menü, mit dem man auch ins Backend kommt.
Es haben sich die Namen von drei Regions gegenüber Drupal 5 geändert: $sidebar_left heisst jetzt $left, $sidebar_right heisst $right und $footer_region heisst Footer. Dies ist ein beliebter Stolperstein beim Portieren von Drupal 5 Themes nach Drupal 6.
Wenn man eigene Regions definiert, macht man das jetzt in der .info-Datei. Wie das genau geht, sieht man ebenfalls in der o.g. Grafik.

$closure setzt man unmittelbar vor das schliessende body-Tag. Dies ist wichtig für Javascripts, was man spätestens merkt, wenn der Wysiwyg-Editor nicht angezeigt wird.

Nett ist zudem noch eine screenshot.png, damit man auf der Themes-Verwaltungs-Seite auch ein Bildchen für sein Template angezeigt bekommt. Was ich auch voraussetze, ist, dass man unter sites/all/themes einen Ordner für die Theme-Dateien angelegt hat, der den Namen des Themes trägt. Damit man sich einloggen kann, reicht ja /user hinter dem Basisverzeichnis/Domainnamen, d.h. den Loginblock muss man nicht zwingend einblenden.

Optionales

Alle anderen Variablen wie $breadcrumbs, $logo oder was auch immer sind zunächst nicht zwingend erforderlich und können nach und nach hinzugefügt werden. Was bei diesem Vorgehen natürlich notwendig ist, ist, für das Backend ein anderes Theme zu verwenden, was ich aber standardmässig mache (Favorit Pixture, übersichtlich und auch noch hübsch, obendrein umfärbbar mit dem Core Modul "Color")

Ich gehe in dieser Beschreibung davon aus, daß man die Primary Links (das Hauptmenü) per Region platziert. Will man das nicht, kann man z.B. in Garland nachgucken, wie man diese per Code einbindet ins Theme.

Eine wichtige Sache gibt es zu beachten: Neu in Drupal 6 eingeführt wurde der Theme Cache. Diesen muss mann immer leeren, wenn man neue tpl.php Dateien zu seinem Theme hinzufügt. (das Leeren dieses Caches empfielt sich acuh, wenn irgendwas nicht angezeigt wird, und man unsicher ist, woran es liegt). Das Adminstration Menu bietet praktische Menüeinträge zum Löschen aller Caches oder nur des Theme Caches.

‹ Drupal 5 Theming für Eilige nach oben Arbeiten mit CSS ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuer Core
  • Anzahl der mögliche uploads ändern...
  • CKEditor und rechte
  • Link Menue auf eine aufgerufene Seite für eine weiter Auswahl
  • Nodetype page.tpl.php?
  • Speziellen, ausgeflipptes,Themme gesucht, bzw. wie erstellen?
  • Nodetype links?
  • Startseite
  • IE8 + ZEN Subtheme: Blinkt beim Seitenwechsel
  • Ubercart und Mengen
  • Date field löschen nach abgelaufene Datum
  • Änderung der default.settings.php
Weiter

Neue Kommentare

  • Eine andere Idee wäre noch
    vor 32 Sekunden
  • Global
    vor 7 Minuten 2 Sekunden
  • Hast Du das Modul Global
    vor 16 Minuten 55 Sekunden
  • Eigenes Mini-Modul schreiben.
    vor 21 Minuten 5 Sekunden
  • Umleitungsfehler
    vor 34 Minuten 46 Sekunden
  • Hallo, es ist zwar schon
    vor 9 Stunden 26 Minuten
  • Hallo, keiner eine Idee? Oder
    vor 9 Stunden 32 Minuten
  • Linkmenue
    vor 9 Stunden 35 Minuten
  • Umleitungsfehler
    vor 9 Stunden 52 Minuten
  • Zitat:Nimm's mir bitte nicht
    vor 10 Stunden 6 Minuten

Statistik

Beiträge im Forum: 173320
Registrierte User: 15437

Neue User:

  • iGong
  • andreaszdw
  • kirk.spock

» Alle User anzeigen

User nach Punkten sortiert:
stBorchert5515
quiptime4713
Tobias Bähr3874
md3775
wla3737
bv3698
Thoor3678
Alexander Langer3268
dereine2635
Exterior2564
» User nach Punkten
Zur Zeit sind 4 User und 26 Gäste online.

Benutzer online

  • wla
  • ronald
  • c3po
  • kahta

Benutzerhandbuch

  • FAQ - Häufig gestellte Fragen.
  • Links & Downloads
  • Über Drupalcenter.de und das deutschsprachige Benutzerhandbuch
  • Über Drupal
  • Einsteiger
  • Fortgeschrittene
  • Entwicklung von Modulen und Themes
    • Das Drupal Theme System (PHPTemplate)
    • Theme Handbuch (Drupal 6)
      • Drupal 5 Theming für Eilige
      • Drupal 6 Theming für Eilige
      • Arbeiten mit CSS
      • Einführung ins Theming
      • Festlegen der Theme Komponenten und Einstellungen
      • Themebare Ausgaben anpassen ('overriding')
    • 5.x Themes in 6.x konvertieren
    • Leitfaden zur Entwicklung von Modulen
    • Module zu Drupal CVS hinzufügen
    • Resourcen für den Theming-Ninja
  • Drupalcenters Community
  • Bücherecke
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Buchempfehlung

Webseiten erstellen Drupal 7
Content - Layout - Administration
Das Drupal-Entwicklerhandbuch
Der Praxisleitfaden für Drupal-basierte Webprojekte.
Pro Drupal 7 Development
(Expert's Voice in Open Source)

Das Copyright des deutschsprachigen Drupal-Benutzerhandbuches unterliegt den jeweiligen Autoren. Übersetzungen des englischsprachigen Drupal-Benutzerhandbuches unterliegen der Creative Commons License, Attribution-ShareAlike 2.0.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's
  • Bücherecke

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed Drupal Podcast
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association