[gelöst] Über phptemplate_menu_item() eine eindeutige Menu-Item-ID zuweisen
Eingetragen von stone_d (178)
am 30.09.2009 - 22:20 Uhr in
am 30.09.2009 - 22:20 Uhr in
Hi ihrs,
ich benötige eine eindeutige Item-ID meiner Menüpunkte, so dass ich meine Menü-Items individuell Themen kann. Ich habe folgenden Code gefunden:
<?php
function phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
$class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf'));
if (!empty($extra_class)) {
$class .= ' '. $extra_class;
}
if ($in_active_trail) {
$class .= ' active-trail';
}
// Add unique identifier
static $item_id = 0;
$item_id += 1;
$id .= 'menu-item-' . $item_id;
// Add semi-unique class
$class .= ' ' . preg_replace("/[^a-zA-Z0-9]/", "", strip_tags($link));
return '<li class="'. $class .'" id="' . $id . '">'. $link . $menu ."</li>\n";
}
?>
Damit erhalte ich als css-id = "menu-item-[Ziffern-Inkrement]"
Das Problem: wenn ich eingeloggt bin, stimmt diese ID nicht mehr, weil vermutlich noch mehr Menüs im Hintergrund gerendert werden - oder wasweißichwarum ... jedenfalls wird nach dem Login "menu-item-3" zu "menu-item-9" und das is grober Mist ;)
Existiert denn keine eindeutige Menu-Item-ID die ich mit phptemplate_menu_item() auslesen kann?
Danke im Voraus und Grüße vom
F.
- Anmelden oder Registrieren um Kommentare zu schreiben
Und warum packst Du nicht
am 30.09.2009 - 22:33 Uhr
Und warum packst Du nicht einfach den Menünamen mit rein? z.b. 'menu-item-hauptmenu-' . $item_id
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
nun ja - weil das bei ner
am 30.09.2009 - 23:05 Uhr
nun ja - weil das bei ner mehrsprachigen Seite (die es im zweiten Schritt werden soll) vermutlich nich mehr geht ...
ha - das hier hat all meine
am 01.10.2009 - 14:56 Uhr
ha - das hier hat all meine Probleme gelöst ;)
http://drupal.org/project/menu_attributes