[gelöst] Theming, menu_local_task

am 02.11.2009 - 16:38 Uhr in
Hallo,
ich hab den Artkel http://www.drupalcenter.de/handbuch/17555 gelesen. By the way danke!
Ich benutze das Theme bluemarine und hab jetzt zum Testen in
/themes/bluemarine
die Datei template.php angelegt mit dem Inhalt
<?php
function phptemplate_menu_local_tasks() {
$output = '';
if (
$primary = menu_primary_local_tasks()) {
$output .= "<ol class=\"tabs primary\">\n". $primary ."</ol>\n";
}
if ($secondary = menu_secondary_local_tasks()) {
$output .= "<ol class=\"tabs secondary\">\n". $secondary ."</ol>\n";
}
return $output;
}
funktioniert auch prima soweit.
Mein Problem:
Ich möchte in das nicht im Theme-Ordner überschreiben, sondern in
/sites/all/themes/bluemarine
,was ich auch versucht hab (zuvor template.php aus dem theme-ordner gelöscht),
funktioniert aber nicht.
Die Idee stand im Drupal-Entwicklerhandbuch...
Ich habs mit
function phptemplate_menu_local_tasks() {...}
und
function bluemarine_menu_local_tasks() {...}
versucht, beides vergebens.
(Vorher den Cache geleer usw.)
Weiß jemand, was ich falsch mach?
Danke und Gruß,
Bernd
- Anmelden oder Registrieren um Kommentare zu schreiben
nur so ein Gedanke
am 02.11.2009 - 17:31 Uhr
Hallo,
ist nur so eine Idee von mir; du müsstest doch eher die Themes neu aufbauen lassen, m.W. geht das nicht nur mit dem Cache leeren.
Wenn ich das richtig aufgeschnappt habe, so kannst du einfach in Verwaltung/Strukturierung/Themes gehen, dadurch werden diese neu eingelesen. Wenn du das Admin-Menü installiert hast, so gibt es einen Befehl um die Themes zu aktualisieren.
Gruss
fh
EDIT:
steht ja hier :-)
function meintheme_menu_local_tasks() {
deine erste Zeile müsste in meinen Augen also "bluemarine_menu_local_tasks()" lauten. Und ev. hat das mit dem Neuafbau dann nicht geklappt, ich würde es nochmal versuchen. Viel Glück!
hi fh, hab das schon
am 02.11.2009 - 18:10 Uhr
hi fh,
hab das schon versucht, klappt aber nicht :(
gruß,
bernd
Hallo Bernd,könnte es
am 03.11.2009 - 15:02 Uhr
Hallo Bernd,
könnte es daran liegen, dass im bluemarine-Theme diese PHP Bezeichnungen anders lauten?
In der page.tpl.php des bluemarine Themes lauten die Zeilen so:
...
<?php if (isset($secondary_links)) { ?><?php print theme('links', $secondary_links, array('class' => 'links', 'id' => 'subnavlist')) ?><?php } ?>
<?php if (isset($primary_links)) { ?><?php print theme('links', $primary_links, array('class' => 'links', 'id' => 'navlist')) ?><?php } ?>
...
Leider kann ich dir nicht viel mehr helfen, ich müsste mich auch zuerst nochmal genauer einlesen, was die template.php betrifft. Aber ich könnte mir schon vorstellen, dass du deine angesprochenen Elemente anders ansprechen musst.
Zudem; stören diese Theme-Aufrufe nicht den Ablauf, so dass deine template.php Funktionen gar nicht ausgeführt werden, wegen dem ... theme('links' ...)?
So wie ich das verstehe wird jetzt das theme(...) aufgerufen und nicht deine Funktionen.
Wahrscheinlich hilft da schon ein Nachschauen zur theme()-Funktion weiter.
Sorry
fh
Vielleicht hat jemand noch konkretere Hilfe parat?!
Edit:
Hier noch der Link, es wird auch zur template.php was ausgesagt: http://api.drupal.org/api/function/theme/6
danke
am 03.11.2009 - 18:37 Uhr
hi fh,
brauche die funktion nur für menu_local_task. es klappt ja, zwar im theming-ordner, aber immerhin :)
ich danke dir für deine hilfe!
gruß,
bernd