Um die ungeordnete Liste zu thematisieren, müssen Sie theme_menu_tree () aufrufen. Sie können Ihre template.php bearbeiten, um dies aufzurufen.
function THEMENAME_menu_tree__MENUNAME($variables){
return '<ul class="your-custom-class" id="your-custom-id">' . $variables['tree'] . '</ul>';
}
Wenn Sie dann Ihre Links thematisieren möchten, rufen Sie theme_menu_link () auf.
function THEMENAME_menu_link__MENUNAME($variables) {
$element = $variables['element'];
$sub_menu = '';
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
Das Problem mit Drupal 7 ist nun, dass es einen großen Fehler gibt, wenn es darum geht, die aktive Spur von benutzerdefinierten Menüs anzuzeigen.
Siehe Problem
Ausgabe Nr. 520106 - Keine Möglichkeit, aktiven Pfad dynamisch
festzulegen Problem Nr. 942782 - Benutzerdefinierte Menüs erhalten niemals einen aktiven Pfad
Sie haben im Grunde kein Glück, wenn Sie echte benutzerdefinierte Menüs möchten. Diese Probleme sind in der Drupal-Community seit langem bekannt, daher bin ich mir nicht sicher, ob sie bald behoben werden. Ich weiß nicht, ob es PHP gibt, das dabei helfen kann. Sie können sich an einige alternative Module wenden, um die Funktionalität zu vereinfachen, z. B. Menüattribute und Menüblock . Beide können helfen, das grobe Menüsystem in Drupal 7 zu umgehen.