Ich möchte einen neuen Bereich hinzufügen, der Site-weit sein wird. Beschreiben Sie den Vorgang, mit dem diese neue Region in mein Thema aufgenommen wird, und verallgemeinern Sie ihn nach Möglichkeit, um eine neue benutzerdefinierte Region hinzuzufügen.
58
Antworten:
Sie definieren Regionen in Ihrer .info-Designdatei. Siehe: Struktur der .info-Datei
Anschließend müssen Sie die relevanten Template-Tags in Ihre page.tpl.php-Datei einfügen.
Wenn Sie beispielsweise die Region
sidebar
in Ihrer .info-<?php print render($page['sidebar']); ?>
Themendatei definiert haben , würden Sie Folgendes hinzufügen: an der entsprechenden Stelle in Ihrer page.tpl.php.quelle
Ein weiterer Punkt: Verpassen Sie nicht die benötigten Regionen!
Mehr dazu finden Sie unter http://drupal.org/update/themes/6/7#closure .
Um dies zu verdeutlichen: Wenn Sie Ihre eigenen Regionen definieren, müssen Sie alles definieren, was Sie verwenden, einschließlich der erforderlichen. Mit anderen Worten, Sie können nicht einfach zusätzliche Regionen definieren: Wenn Sie eine definieren, müssen Sie alle definieren.
quelle
Das Erstellen einer Region für ein Drupal 7-Thema unterscheidet sich nicht vom Erstellen einer Region für eine Drupal 6-Region. Die Unterschiede zwischen Drupal 7 und den Vorgängerversionen sind im Wesentlichen:
mytheme_regions()
Funktion wie in Drupal 5 definiert, sondern in mytheme.info mitregions[]
Direktiven, was auch bei Drupal 6-Themen der Fall ist.render()
, anstatt den Inhalt einer Variablen zu drucken.Die Standardregionen von Drupal 7 sind die folgenden:
Zu den Kernthemen von Drupal 7 gehört jetzt eine Region mit dem Namen "Hervorgehoben", die dieselbe Anzeige wie der Missionsbereich in Drupal 6 verwendet. Sie enthalten auch eine Region namens 'help', die standardmäßig den gleichen Inhalt wie die
$help
von Drupal 6 verwendete Variable hat.quelle
Die Themenbereiche werden in der .info-Datei Ihres Themas definiert - siehe Dokumentation . Fügen Sie einfach eine Linie mit hinzu
regions[corner] = Corner
, um eine Eckregion zu erhalten.Dann müssen Sie die Datei page.tpl.php bearbeiten und hinzufügen,
<php print render($corner); ?>
wo die Region angezeigt werden soll. Wenn Ihr Theme keine page.tpl.php hat, kopieren Sie vom Basis-Theme oder vom Systemmodul.Häufige Fehler:
Wenn in der theme.info-Datei keine Regionen deklariert waren, wurden Drupal-Standardregionen verwendet. Wenn Sie hinzufügen möchten, müssen Sie die Standardregionen neu deklarieren. Sie können natürlich jede Region entfernen, aber bitte unterstützen Sie die erforderlichen Regionen. Sehen Sie sich die Dokumentation noch einmal an.
Änderungen an der .info-Datei oder das Hinzufügen neuer Dateien zum Design (wie page.tpl.php) werden erst nach dem Löschen der Caches bemerkt.
Omega, ein sehr beliebtes Basisthema, benötigt keine Änderungen in page.tpl.php, nur in der .info-Datei. Sie müssen jedoch die Designeinstellungen in der Benutzeroberfläche aufrufen und Ihre Region einer Zone zuweisen.
quelle
regions[content] = Content
die einzige erforderliche Region in D7? drupal.org/node/171205#regions scheint dies zu bedeuten, aber dann drupal.org/node/171224 sagt , dass die erforderlichen Regionen sindcontent
,help
,page_top
undpage_bottom
content
ist definitiv sehr wichtig.help
wird von core unterstützt (umpage_bottom
Hilfemeldungen auszugeben), ist wahrscheinlich der Ort, an dem bottom js gedruckt wird undpage_top
scheint für Navigationsleisten wie die Kernsymbolleisten verwendet zu werden.Führen Sie die folgenden Schritte aus, um einen benutzerdefinierten Bereich in Ihrem Thema zu erstellen:
Gehen Sie zu Ihrer theme.info-Datei und fügen Sie diese Zeile hinzu.
Obwohl Sie auch Regionsblöcke in der Knotenvorlage aufrufen können, fügen Sie die Region im Allgemeinen der Seitenvorlage des Themas hinzu. Dies ist normalerweise page.tpl.php. Wenn Sie benutzerdefinierte Vorlagendateien für verschiedene Seiten haben, bearbeiten Sie auch diese. Die neue Region wird nur auf den Seiten angezeigt, die um die Vorlage erstellt wurden, der Sie die neue Region hinzufügen. Fügen Sie es an der Stelle ein, an der Ihre neue Region angezeigt werden soll.
Konfiguration - Leistung - Löschen Sie alle Caches
quelle
Erstellen Sie eine neue Region in Theme
Sie müssen es nur in zwei Dateien definieren.
Theme.info
Seite.tpl.php
Rendern Sie jetzt diese Region
Jetzt Cache leeren, los geht's, du hast eine neue Region in deinem Theme. Sie können es auf Ihrer Blockkonfigurationsseite sehen.
Weitere Informationen finden Sie unter http://drupal.org/node/171205
quelle