Menüstruktur selbst bestimmen
am 17.06.2008 - 22:30 Uhr in
Hallo,
ich bin Drupal-Neuling und gerade am Erstellen eines neuen Themes. Ich beiße mir an folgendem Problem die Zähne aus: Ich möchte erreichen, dass Drupal das Menü meiner Seite nicht in Form einer Liste generiert, sondern jeden Menüpunkt in folgender Form:
<a class="navi" id="aktuell" href="...">Aktuelles</a><span class="trennstrich"> | </span>
Es soll also jeweils ein Link und ein Span-Element erzeugt werden und zwar mit selbst definierten Klassen. Außerdem soll das Span-Element beim letzten Link der Navigation weggelassen werden, so dass dort kein überflüssiger Trennstrich steht.
Ich bin für jede Hilfe sehr dankbar, ich komme echt nicht mehr weiter...
- Anmelden oder Registrieren um Kommentare zu schreiben

template.php
am 17.06.2008 - 23:14 Uhr
Mal so im Blindflug (nicht getestet):
In die Datei template.php Deines Themes fügst Du an das Ende der Datei folgende Funktionen ein:
<?phpfunction phptemplate_menu_tree($tree) {
return '<div class="menu">'. $tree .'</div>';
}
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';
}
if (!empty($extra_class) && strpos($extra_class,'last') === FALSE) {
return $link . $menu .'<span class="trennstrich"> | </span>'."\n";
}
else {
// ist letzter Menüpunkt
return $link . $menu ."\n";
}
}
?>
Damit ist dann aber jedes Menü in dieser Form.
Danke für die schnelle Antwort
am 17.06.2008 - 23:28 Uhr
Danke für die schnelle Antwort, es funktioniert einwandfrei. Das Menü sieht jetzt so aus wie es sein sollte. Ich merke schon, ganz ohne php kommt man beim Themes erstellen dann doch nicht klar. Da werd ich mich wohl oder übel auch mal einarbeiten müssen...