Abfrage
Eingetragen von drupalino (1064)
am 01.06.2008 - 10:46 Uhr in
am 01.06.2008 - 10:46 Uhr in
Hallo,
kann ich irgendwie in der template.php herausfinden, welches Menu gerade gethemt wird. Sprich, ich müsste eine Abfrage haben so in der Art..
<?php
if (MEINMENU_SEINE_ID_ODER_STRING){
mach was;
}else{
mach was anderes
}
?>
Finde leider nicht die richtige menu-funktion um entweder die $mid oder vielleicht sowas wie den Menü-Namen zu testen. VERSION 5.7
Gruss
drupalino
- Anmelden oder Registrieren um Kommentare zu schreiben
Es kommt drauf an, was du
am 01.06.2008 - 11:06 Uhr
Es kommt drauf an, was du machen möchtest. Dies ist aber auf jeden Fall lösbar mit einer der folgenden 3 Theme-Funktionen
http://api.drupal.org/api/function/theme_menu_item/5
http://api.drupal.org/api/function/theme_menu_links/5
http://api.drupal.org/api/function/theme_menu_tree/5
Es sieht so aus, als ob du theme_menu_item benötigst
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Sehe da aber leider nicht,
am 01.06.2008 - 11:11 Uhr
Sehe da aber leider nicht, dass ich da auf die $mid zurückgreifen kann. Um es genau zu sagen muss ich wissen ob gerade die primary links durch meine funktion laufen oder eben nicht!
-------------------
gruss
drupalino
gruss
drupalino
Hat denn wirklich niemand
am 02.06.2008 - 13:19 Uhr
Hat denn wirklich niemand eine Idee????
Komme einfach nicht weiter!!!
-------------------
gruss
drupalino
gruss
drupalino
Die Primary Links haben wie
am 02.06.2008 - 14:20 Uhr
Die Primary Links haben wie man sieht/weiß die PID 2, somit kann man mit http://api.drupal.org/api/function/theme_menu_tree/5 das prüfen
also:
<?php
function garland_menu_tree($pid = 1) {
if ($tree = menu_tree($pid)) {
switch ($pid) {
case 2:
return "\n<span><ul class=\"menu\">\n". $tree ."\n</ul></span>\n";
default:
return "\n<ul class=\"menu\">\n". $tree ."\n</ul>\n";
}
}
}
?>
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Ja, aber ich habe eine
am 02.06.2008 - 14:33 Uhr
Ja, aber ich habe eine phptemplate_menu_item() in der ich die Links zusammenbaue. Da ich das submenu der Primarys geteilt habe, weil ich die unbenigt in in einem anderen Block haben muss. Also müsste ich es irgendwie hinkriegen in der phptemplate_menu_item() diese Abfrage zu machen.
-------------------
gruss
drupalino
gruss
drupalino
[GELÖST]
am 02.06.2008 - 16:19 Uhr
Also innerhalb der phptemplate_menu_item()
kommt man mit der Variable:
<?php
$item[pid];
?>
an das aktuelle Menü und demzufolge muss man in dem Theme
<?php
if ($item[pid]==2){
return '<li id="'.$css_id.$active_later.'" class="' . $active . ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'"><a href="'.$link2[1].'"><img src="/'. path_to_theme() . '/images/spacer_'.$css_id.'.gif" border="0"/></a></li>';
}else {
return '<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
seine Bilder oder was auch immer einfügen und hat dann mit der entsprechenden ID (primary, ja genau, das weiss man "2") das Menu geändert.
-------------------
gruss
drupalino
gruss
drupalino