PFalk: Dynamisches Menü um Untermenü erweitern

Beitrag lesen

Hallo,

ich hab hier ein Menü, dass aus einem Array die einzelnen Menüpunkte ausliest.

Nun bräuchte ich aber bei jedem Menüpunkt noch ein Untermenü, dass nur angezeigt wird, wenn der jeweilige Oberpunkt gewählt wurde.

Das Hauptmenü sieht so aus:

$chapter =  
array(  
  'kapitel1' => 'Kapitel1',  
  'kapitel2' => 'Kapitel2',  
  'kapitel3' => 'Kapitel3'  
);  
  
if (!isset($_GET['kapitel']))  
{  
  $kapitel = 'inhalt';  
}  
else  
{  
  $kapitel = strtolower($_GET['kapitel']);  
}  
  
$myself = $_SERVER['PHP_SELF'];  
  
?>  
  
<div id="navcontainer">  
 <ul id="navlist">  
 <?php  
  foreach ($chapter as $key => $value)  
  {  
  $id = '';  
  if ($key == $kapitel)  
  {  
   $id = "active";  
  }  
  print "<li><a id='$id' href='$myself?kapitel=$key'>$value</a></li>\n";  
 }  
 ?>  
 </ul>  
</div>

Dadurch ergibt sich ja folgendes Menü:

<li><a id='xx' href='xx'>Kapitel 1</a></li>  
<li><a id='xx' href='xx'>Kapitel 2</a></li>  
<li><a id='xx' href='xx'>Kapitel 3</a></li>

Jetzt gibt's wie gesagt Untermenüs; die sehen ansich identisch aus (sind halt über die ID mittels CSS anders formatiert), insgesamt also so in der Art:

  
foreach ($chapter as $sub_key => $sub_value)  
  {  
  $sub_id = '';  
  if ($key == $artikel)  
    {  
    $sub_id = "sub_active";  
    }  
    print "<li><a id='$sub_id' href='$myself?artikel=$sub_key'>$sub_value</a></li>\n";  
  }

Also bräuchte ich wohl für jedes Untermenü wieder ein Array

$artikel_1 =  
array(  
  'artikel1_1' => 'Artikel1_1',  
  'artikel1_2' => 'Artikel1_2',  
  'artikel1_3' => 'Artikel1_3'  
);  
  
$artikel_2 =  
array(  
  'artikel2_1' => 'Artikel2_1',  
  'artikel2_2' => 'Artikel2_2',  
  'artikel2_3' => 'Artikel2_3'  
);  
  
$artikel_3 =  
array(  
  'artikel3_1' => 'Artikel3_1',  
  'artikel3_2' => 'Artikel3_2',  
  'artikel3_3' => 'Artikel3_3'  
);

Und müsste dem ganzen dann beibringen, dass wenn Kapitel1 aktiv ist, das Untermenü aus Array $artikel_1 angezeigt wird. Letztendlich so:

<li><a id='active' href='xx'>Kapitel 1</a>  
   <ul id="subnavlist">  
   <li><a id='' href=''>Artikel1_1</a></li>  
   <li><a id='' href=''>Artikel1_2</a></li>  
   <li><a id='' href=''>Artikel1_3</a></li>  
   </ul></li>  
<li><a id='' href='xx'>Kapitel 2</a></li>  
<li><a id='' href='xx'>Kapitel 3</a></li>

Nur wie bring ich dem ganzen bei, dass bei aktivem Kapitel X das zugehörige Untermenü angezeigt wird (und zwar direkt unter dem jeweiligen Hauptmenüpunkt).

Das wird doch ein total verschachtelter unübersichtlicher Code!?