PHP
$navi=array (
"Link_Ohne_Untermenü"=>"foo",
"Link_mit_untermenü"=>array (
"Link"=>"bar",
"NochnMenü"=>array (
"Alpha"=>"Beta"
)
)
);
function buildNavi($navi) {
echo "<ul>";
foreach ($navi as $name => $href) {
echo "<li>";
if (gettype($href)=="array") {
echo "<a>".$name."</a>";
buildNavi($href);
} else {
echo "<a href=\"index.php?site=".$href."\"";
if ($href==$_GET['site']) echo " class=\"active\"";
echo ">".$name."</a>";
}
echo "</li>";
}
echo "</ul>";
}
buildNavi($navi);
Alles anzeigen
Jetzt geht PHP durch das Array, der SChlüsel ("foo"=>"bar") ist der Linkname, der eintrag ("foo"=>"bar") der Seitenname (href). Wenn der ein Array ist, also untermenü, ruft sich die Funktion selbst auf und dann passiert das gleiche. Ist es aber kein Array, sondern Text, wird <li><a href="index.php?site=$href" ausgegeben. Wenn der href = der aktuellen seite ist, wird noch class="active" ausgegeben. Dazu kommt dann noch ></li>. Dann passt das.
Du kannst beliebig viele untermenüs machen.