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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 23 Stunden 3 Minuten
  • Hey danke
    vor 1 Tag 17 Stunden
  • Update: jetzt gibt's ein
    vor 2 Tagen 11 Stunden
  • Hallo, im Prinzip habe ich
    vor 6 Tagen 21 Stunden
  • Da scheint die Terminologie
    vor 1 Woche 39 Minuten
  • Kannst doch auch alles direkt
    vor 1 Woche 4 Tagen
  • In der entsprechenden View
    vor 1 Woche 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 4 Tagen
  • gelöst
    vor 4 Wochen 20 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 28 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