[gelöst] Neue Region will nicht
am 12.11.2011 - 16:38 Uhr in
Hi
Iich möchte mir gerne ein Zen Subtheme basteln. Nun würde ich gerne einige eigene Regions definieren. Ich habe mir dazu diverse Tutorials im Internet angeschaut, komme aber trotzdem zu keinem Ergebnis.
Ich habe die Region in der .info meines Subthemes registriert:
regions[neue_region] = Neue Region
Anschließend die template.php geändert:
<?php
function mytheme_regions() {
return array(
'neue_region' => t('Neue Region'),
);
}
?>Und zuletzt stelle ich die neue Region in der page.tpl.php dar:
<div id="topnavbar">
<?php print $neue_region ?>
</div>Danach flushe ich alle Caches, theme Registry, etc. und weise der neuen Region einen Block zu. Das funktioniert super.
Wenn ich anschließend meine Seite neu lade, bekomme ich folgenden fehler im Inhaltsbereich:
Notice: Undefined variable: neue_region in include() (Zeile 143 von /Applications/XAMPP/xamppfiles/htdocs/drupal/sites/all/themes/phase1/templates/page.tpl.php).
Zeile 143 ist diese Zeile:
<?php print $neue_region ?>
Hat jemand eine Idee?
Danke & viele Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben

Welche Drupal version
am 12.11.2011 - 20:24 Uhr
Welche Drupal version verwendest Du?
Beste Grüße
Werner
Es geht um Version 7.8. Gruß
am 14.11.2011 - 16:18 Uhr
Es geht um Version 7.8.
Gruß
Hi,probier doch mal print
am 14.11.2011 - 16:40 Uhr
Hi,
probier doch mal
print render($page['neue_region']);Danke, jetzt geht es! :D
am 14.11.2011 - 18:26 Uhr
Danke, jetzt geht es! :D
Tipps
am 14.11.2011 - 18:57 Uhr
Hallo.
... function mytheme_regions()
Der Template-Hook [api:phptemplate_regions:5] wurde nur von Drupal 4.7 bis Drupal 5 verwendet. Seit Drupal 6 existiert dieser Hook nicht mehr, hat also in Drupal 7 keinerlei Auswirkung.
t('Neue Region')
Das ist böse ;). Texte, die man als Argumente der [api:t:7]-Funktion übergibt, sind grundsätzlich auf englisch zu verfassen (die Basissprache von Drupal ist nunmal englisch). Diese Texte können dann nämlich von Englisch in [irgendeine andere Sprache] übersetzt werden.
Ansonsten macht das keinen Sinn ("Übersetzung" von deutsch nach deutsch).
hth,
Stefan
PS: wenn Du denkst, Dein Thema wurde hinreichend beantwortet, kannst Du Deine Frage bearbeiten und ganz einfach den Text
[gelöst]vor den Titel schreiben. So sieht man sofort, dass das Thema erledigt ist.stBorchert
am 15.11.2011 - 21:04 Uhr
Hallo.
... function mytheme_regions()
Der Template-Hook [api:phptemplate_regions:5] wurde ...
Danke für die ausführliche Antwort!
Viele Grüße