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

Drupal 6 Theming für Eilige

Eingetragen von eigentor (1252) 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. Elf 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
* $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")

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 Leitfaden zur Entwicklung von Modulen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • dynamische Views als Blockanzeige
  • Kommentar Formular in einer Art Thickbox
  • [gelöst] Node Titel ausblenden über 2te node.tpl.php funktioniert nicht
  • Tabelle wird nicht gezeigt
  • Update nach 6.16
  • Userprofile (Kern-Modul) erweitern
  • [gelöst] Weißer Schirm nach Aktivierung von Date und Date API
  • Neue D-7 Toolbar, deutsche Terminologie
  • [gelöst] Nodereference - auch mit noch nicht existierenden Nodes
  • Regel via PHP-Code auslösen - geht das?
  • Login Weiterleitung
  • Divs plötzlich nicht mehr vorhanden --> Subtheme tut (natürlich) nicht mehr was es soll
Weiter

Neue Kommentare

  • Ja. Aber dieser kann ja nur
    vor 1 Stunde 22 Minuten
  • ...nur mal...
    vor 1 Stunde 36 Minuten
  • Es klappt beides nicht. Der
    vor 2 Stunden 1 Minute
  • Kleineres module zum ausblenden des title
    vor 2 Stunden 53 Minuten
  • Benutzt Du vielleicht
    vor 2 Stunden 59 Minuten
  • Das ist wirklich ein sehr
    vor 3 Stunden 9 Minuten
  • Ich mach mit!
    vor 3 Stunden 29 Minuten
  • ...Du kannst...
    vor 3 Stunden 36 Minuten
  • Okay das Modul mal
    vor 3 Stunden 51 Minuten
  • Drupalcenter.de feiert bald
    vor 3 Stunden 55 Minuten

Statistik

Beiträge im Forum: 113329
Registrierte User: 10231

Neue User:

  • janaz
  • wblauth
  • bu

» Alle User anzeigen

User nach Punkten sortiert:
quiptime4706
stBorchert3633
md3536
Tobias Bähr3429
bv3268
dereine2589
Alexander Langer2511
pebosi2488
Thoor1721
rapsli1474
» User nach Punkten
Zur Zeit sind 6 User und 21 Gäste online.

Benutzer online

  • sTr
  • kissmedve
  • tomx
  • Waldknoblauch
  • dave.
  • krabbe
DrupalCenter durchsuchen:

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)
    • 5.x Themes in 6.x konvertieren
    • Drupal 5 Theming für Eilige
    • Drupal 6 Theming für Eilige
    • Leitfaden zur Entwicklung von Modulen
    • Module zu Drupal CVS hinzufügen
  • Drupalcenters Community
  • Bücherecke
  • Drupal Screencasts auf deutsch
  • Archiv

Buchempfehlung

Das Drupal-Entwicklerhandbuch
Der Praxisleitfaden für Drupal-basierte Webprojekte.
Drupal 6
Websites entwickeln und verwalten mit dem Open Source-CMS.
Das Drupal 6 Praxisbuch
Arbeiten mit Modulen, Themes und Templates

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 Referenzen
  • Installation
  • Update
  • Forum
  • Team

Quicklinks II

  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

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

RSS & Twitter

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