Malcolm Beck´s: Array in Array und Submenu

Beitrag lesen

hi,

hab wieder ein halbes Problem, ich bastel mir gerade ein Tree-Menu zusammen, das je nach aufgerufener Rubrik die dazugehörigen Links aus einem array generieren soll.

Mittlerweile funzt[TM] es erfreulicher weise schon fast.

Das Problem an der Sache ist, dass ich jetzt keine einfachen Links mehr setzen kann, also, wenn Beispielsweise nur ein Link für eine bestimmte Rubrik existiert, muss das Menu trotzdem aufgeklappt werden, siehe obigen Link bei klick auf "Home".

Hier mal der Code, ich habe versucht es übersichtlich zu halten, hoffentlich ist es dass.

<?php  error_reporting('E_ALL');  
  
 $menu_child_navi_links =  array(  
    "Equipment" => array("/equipment" => array("/equipment" => "Equipment", "/equipment/tisch-ausrichten" => "Tisch ausrichten")),  
    "Scratchen" => array("/scratchen" => array("/scratchen" => "Scratchen", "/scratchen/fortgeschritten/woerter-scratch" => "Wordscratch")),  
    "Mixen" => array("/mixen" => array("/mixen" => "Mixen", "/mixen/takt-korrigieren" => "Takt korrigieren")),  
    "Home" => array("/" => array("/" => "Home")) // Wenn ich hier das zweite array leer lasse, wird der Link nicht entlinkt  
);  
 reset ($menu_child_navi_links);  
  
function entlink($mein_link_array) {  
global $MeineListeBauen;  
  
     foreach($mein_link_array as $level_key_1 => $level_value_1) {  
        foreach($level_value_1 as $level_key_2 => $level_value_2) {  
// Hauptmenu bauen  
        $haupt_menu = "<li><a href='$level_key_2'>$level_key_1</a></li>";  
// Submenu aufbauen  
               if(array_key_exists($_SERVER['REQUEST_URI'],  $level_value_2)) {  
                       $MeineListeBauen .= "<li>$level_key_1<ul>";  
                                   foreach($level_value_1[$level_key_2] as $neue_links => $link_name ) {  
                                            if($_SERVER['REQUEST_URI'] == $neue_links) {  
                                                   $MeineListeBauen .= "<li><em>$link_name</em></li>";  
                                            }  
                                            else { $MeineListeBauen .= "<li><a href='$neue_links'>$link_name</a></li>"; }  
                                           }  
                                    $MeineListeBauen .= "</ul></li>";  
                            }  
                            else { $MeineListeBauen .= $haupt_menu; }  
// Submenu ende  
                    }  
             }  
    return $MeineListeBauen;  
}  
  
  entlink($menu_child_navi_links);  
  echo "<ul>$MeineListeBauen</ul>";  
?>

Dieser Code ist so wie hier abgebildet auf dem Webspace, nur hier ohne \n und \t.

Achso, ich suche eine Lösung für das Problem mit den einfachen Links, diese sollen nicht aufklappen, nur entlinkt werden.

mfg