Günther: Menüsteuerung mit PHP

Beitrag lesen

Hallo zusammen,

Ich stehe vor folgendem Problem:
Ich möchte gern ein Menü mit zwei Ebenen realisieren. Das Schema etwa wie:
1. Kapitel
2. Kapitel
  2.1 Abschnitt
  2.2 Abschnitt
  2.3 Abschnitt ...
3. Kapitel

Vorgaben sind:
1. Der Menüpunkt der aktuell angezeigten Seite ist nicht verlinkt.
2. Die Ausgabe des Menüs soll als Liste <ul><li></li></ul> erfolgen.
3. Jetzt kommt das Problem: der jeweilige obere Kapitel-Menüpunkt soll nicht verlinkt sein, wenn einer der zugehörigen unteren Abschnitt-Menüpunkte aktuell angezeigt wird.

Frage: Wie kann ich in einem Array das erste Key-Value-Paar separieren und dann mit beliebigen Formatangaben versehen, wenn es gerade nicht die aktuell angezeigte Seite ist?

Ich füge Teile des bisherigen Codes an:

1. mehrere Arrays:
$arr1['1. Kapitel'] = array("root" => $siteRoot."index.php");
$arr2['2. Kapitel'] = array("root" => $siteRoot."kap20.php", "3.1 Abschnitt" => $siteRoot."kap21.php", "3.2 Abschnitt" => $siteRoot."kap22.php", "3.3 Abschnitt" => $siteRoot."kap23.php", "3.4 Abschnitt" => $siteRoot."kap24.php", "3.5 Abschnitt" => $siteRoot."kap25.php");
$arr3['3. Kapitel'] = array("root" => $siteRoot."kap30.php");

2. Jetzt der Code für das verschachtelte 2. Kapitel:
if($PHP_SELF != $arr2['root']){
  foreach($arr2 as $key=>$value){
    if($PHP_SELF == $value['root']){
       echo "<li id='navon'>$key<li>\n";
    }
    else {
       echo "<li class='navoff'><a href="".$value['root']."">$key</a><li>\n";
    }
    foreach($value as $key2=>$value2) {
      if(array_search($PHP_SELF,$value)) {
        if($key2 != "root") {
           if($PHP_SELF == $value2) {
              echo "<li id='subnavon'><a href="".$value2."">$key2</a><li>\n";
           }
           else {
              echo "<li class='subnavoff'><a href="".$value2."">$key2</a><li>\n";
           }
         }
      }
    }
  }
}

Es kann sein, dass ich mit dem Code komplett auf dem Holzpfad bin und bin dankbar für Kommentare.
Gruß Günther