Navigation
Drupalnews und Drupalblogger
Konvertierung von Drupal 6.x Themes auf 7.x

Überblick der Drupal Themes Änderungen in 7.x
Übersetzung von http://drupal.org/node/254940
Liste wird erweitert, sobald es neue Änderung gibt und ich Zeit/Lust habe :D.
- Blöcke haben jetzt neue ausdrucksvolle CSS IDs
- Primary und secondary links sind jetzt Main und Secondary menu
- Unverarbeitete taxonomy links sind nicht mehr als Variable in der node.tpl.php verfügbar
- RDFa erfordert einige Änderungen in der page.tpl.php
- Die CSS Klasse clear-block wurde umbenannt in clearfix
- box.tpl.php Template Datei entfernt
- $help wurde ein Region
- Mission entfernt, Highlight Region neu
Blöcke haben jetzt neue ausdrucksvolle CSS IDs
Viele der CSS-IDs für die Blöcke, die durch Drupalkern definiert werden, wurden geändert, damit sie klarer den Zweck dem Block anzeigen:
| Block | Alte CSS ID (Drupal 6) | Neue CSS ID (Drupal 7) |
|---|---|---|
| Neueste Blockeinträge | block-blog-0 | block-blog-recent |
| Buchnavigation | block-book-0 | block-book-navigation |
| Neueste Kommentare | block-comment-0 | block-comment-recent |
| Aktive Forumthemen | block-forum-0 | block-forum-active |
| Neue Forumthemen | block-forum-1 | block-forum-new |
| Sprachenumschalter | block-locale-0 | block-locale-language-switcher |
| Aggregator | block-node-0 | block-node-syndicate |
| Neuste Umfrage | block-poll-0 | block-poll-recent |
| Autor Information | block-profile-0 | block-profile-author-information |
| Suchformular | block-search-0 | block-search-form |
| Beliebter Inhalt | block-statistics-0 | block-statistics-popular |
| Powered by Drupal | block-system-0 | block-system-powered-by |
| Benutzeranmeldung | block-user-0 | block-user-login |
| Navigation | block-user-1 | block-user-navigation |
| Wer ist neu | block-user-2 | block-user-new |
| Wer ist Online | block-user-3 | block-user-online |
Als Beispiel, eine Drupal 6 CSS Style Anweisung wie diese:
- /* Macht den Text in dem Benutzeranmeldungs-Block größer. */
- #block-user-0 {
- font-size: 1.5em;
- }
sollte in Drupal 7 so aussehen:
- /* Macht den Text in dem Benutzeranmeldungs-Block größer. */
- #block-user-login {
- font-size: 1.5em;
- }
Primary und secondary links sind jetzt Main und Secondary menu
Primary and Secondary links sind nach Main and Secondary menu umbenannt worden. Themes, die diese Optionen unterstützt haben, müssen dann aktualisiert werden, um die neuen Variablen verwenden zu können:
6.x
7.x
Unverarbeitete taxonomy links sind nicht mehr als Variable in der node.tpl.php verfügbar
In Drupal 6 konnte man in der node.tpl.php auf die Variable $taxonomy zu greifen, welche die unverarbeiten Terms-Objekte des aktuellen Nodes beinhaltete. Dies ist so nicht mehr möglich in Drupal 7, da sie in das $node-Objekt verlegt wurden ($node->content['links']['terms']['#value'] ). Wenn man davon Gebrauch macht, sollte man darauf achten diese vorher mit check_plain zu entschärfen. Informationen zu XSS: http://drupal.org/node/28984
Die bereits für die Ausgabe verarbeitete Variable $terms ist davon nicht betroffen und kann wie gewohnt verwendet werden.
Wenn man als in der node.tpl.php die $taxonomy abfragte muss dies wie folgt geändert werden.
Drupal 6
- <?php if ($taxonomy): ?>
- <?php endif; ?>
Drupal 7
- <?php if ($terms): ?>
- <?php endif; ?>
RDFa erfordert einige Änderungen in der page.tpl.php
Drupal 7 ist in der Lage RDFa auszugeben, dafür sind aber folgene Änderungen notwendig:
- Der DOCTYPE muss auf XHTML+RDFa 1.0 geändert werden
- Das
langAttribut sollte entfernt werden, um die Kompatibilität mit XHTML 1.1 zu gewährleisten, nur dasxml: langsollte bleiben. - Die RDF-Namespace-Präfixe die im gesamten HTML-Dokument verwenden werden, müssen in serialisierter Form im
<html>vorliegen und befinden sich in der Variable$rdf_namespaces. - Das GRDDL Profile sollte im
<head>Tag defniert werden.
6.x
7.x
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
Die CSS Klasse clear-block wurde umbenannt in clearfix
Die CSS Klasse clear-block hat einige Benutzer so verwirrt, dass sie dachten es habe etwas mit dem Block-Modul zutun. Deshalb wurde diese Klasse umbenannt in clearfix, die auch in der CSS-Community meist so benannt wird.
CSS Anweisung in Drupal 6
- <div class="clear-block">
CSS Anweisung in Drupal 7
- <div class="clearfix">
box.tpl.php Template Datei entfernt
Die doch sehr selten veränderte Template Datei box.tpl.php wurde entfernt und in eine eigene Theme-Funktion gesteckt. Die Suchergebnisauflistung wird durch die Funktion theme_search_results_listing() ausgegeben und die Kommentarformular-Box mit theme_comment_form_box().
$help wurde ein Region
(issue) In Drupal 7 wurde zu den Standard-Regionen (left, right, content, header, footer) genannt help hinzugefügt. Standardmäßig ist der Inhalt (Text) der Selbe wie aus der $help Variabel aus der page.tpl.php in Drupal 6.
In Drupal 7 sollte sichergestellt werden, dass Themes die $help Variabel in der page.tpl.php mit print ausgeben. Sollte das Theme die Standardregionen überschreiben, muss in der .info folgendes hinzugefügt werden:
- regions[help] = Help
Der Hilfetext wird dann in der block.tpl.php mit seinen divs und CSS-Klassen umschlossen, so dass CSS-Angaben für diese Ausgabe ggf. geändert werden müssen.
Mission entfernt, Highlight Region neu
In Drupal 6 gab es für die Startseite ein Bereich genannt "Mission", in der man einige Information darstellen konnte oder man deaktivierte dieses Feld in den Themeeinstellung.
In Drupal 7 wurde dieser Bereich entfernt und "Highlight" wurde geboren als eine Region, in der man einen Block plazieren kann.
Will man diese Highlight Region nicht unterstützen, dann überschreibt man die Liste der möglichen Regionen via Info-Datei des Themes.
Beispiel bei einem Theme mit 3 Regionen:
- regions[content] = Content
- regions[left] = Left sidebar
- regions[help] = Help
Re: Konvertierung von Drupal 6.x Themes auf 7.x
habe auch vor auf der neue drupal zu migrieren. danke für einen artikel,der hat mir einiges an übersicht verschafft!! Gruß Frank
Re: Konvertierung von Drupal 6.x Themes auf 7.x
Ich finde die Bezeichnung der CSS nicht schlecht, diese haben nun eindeutige Namen die auch einleuchtend sind, wo jeder weiß was sich dahinter verbirgt.