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

Drupal 6 Theming für Eilige

Eingetragen von eigentor (1424) 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

  • Meldung zu Token im Statusbericht
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
  • Versenden von Anfragen per Webform
  • Goodbye Online Drupal Meetup Germany - Hello Drupal DACH Online Meetup!
  • Übersetzte Felder bei Inhaltstyp automatisch übernehmen
  • Content Ex-/Import
  • RESTful Path request will nicht
  • Wer ist online Block
  • Doppelte Anzeige von Node im View
  • URL-Alias von bestehendem Link wird gelöscht und auf -0 gesetzt 404 Fehler entsteht
Weiter

Neue Kommentare

  • Self-referencing
    vor 6 Stunden 44 Minuten
  • settings.php
    vor 7 Stunden 20 Minuten
  • Kulturmensch schrieb Prima
    vor 8 Stunden 17 Minuten
  • Metatag
    vor 8 Stunden 27 Minuten
  • Links
    vor 7 Stunden 45 Minuten
  • Wenn Du nach der
    vor 9 Stunden 31 Minuten
  • Gut zu wissen. Demnächst
    vor 1 Tag 2 Stunden
  • Token Fehler behoben
    vor 1 Tag 2 Stunden
  • Du hast völlig recht, da habe
    vor 1 Tag 7 Stunden
  • Link 404
    vor 1 Tag 10 Stunden

Statistik

Beiträge im Forum: 245974
Registrierte User: 18827

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9010
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 8 Gäste online.

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)
      • 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
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal-Testumgebung erstellen
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

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
  • » Forum
  • » Ü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

Quicklinks III

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

RSS & Twitter

  • Drupal Planet deutsch
  • 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