Dynamische Menü's mit PHP | Problem mit Submenü

Ja sowieso. Die Sache mit den Arrays ist zwar möglicherweise professioneller und vielleicht sogar besser zu warten, aber als Leihe scheint mir das doch einfacher. Zumal es sicherlich einen schnelleren Seitenaufbau unterstützt.
 
Was unterstützt einen schnelleren Seitenaufbau?
Die Arrays oder das mit dem case home und so?

Bin jetzt so weit:
PHP:
$menu_data = array(
 "home"           => array("menutitle" => "Home",
                           "link" => "/index.php",
                           "documentname" => "home.html",
                           "title" => "Jonels Webseite",
                           "keywords" => ""
                          ),
 "bastelecke"     => array("menutitle" => "Bastelecke", 
                           "link" => "/index.php?page=bastelecke", 
                           "documentname" => "page/bastelecke.php", 
                           "title" => "Jonels Webseite", 
                           "keywords" => ""
                          ),
 "games"     => array("menutitle" => "Games", 
                           "link" => "/index.php", 
                           "documentname" => "home.html", 
                           "title" => "Jonels Webseite", 
                           "keywords" => ""
                          ),
 "tutorials"     => array("menutitle" => "Tutorials", 
                           "link" => "/index.php?page=tutorials", 
                           "documentname" => "page/tutorials.php", 
                           "title" => "Tutorials - Jonels Webseite", 
                           "keywords" => ""
                          ),
 "projekte"     => array("menutitle" => "Projekte", 
                           "link" => "/index.php?page=projekte", 
                           "documentname" => "page/projekte.php", 
                           "title" => "Projekte - Jonels Webseite", 
                           "keywords" => ""
                          ),
 "bilder"     => array("menutitle" => "Bilder/Galerie", 
                           "link" => "/index.php?page=galerie", 
                           "documentname" => "page/tutorials.php", 
                           "title" => "Galerie - Jonels Webseite", 
                           "keywords" => ""
                          ),
 "forum"     => array("menutitle" => "Forum", 
                           "link" => "http://jtschoch.jt.funpic.de/forum", 
                           "documentname" => "http://jtschoch.jt.funpic.de/forum", 
                           "title" => "Jonels Webseite", 
                           "keywords" => ""
                          ),
 );

Edit:
Soll ich alle Seiten eintragen und die Untermenü Seiten nur in ein Array schreiben?
 
Zuletzt bearbeitet:
Dein Skript, regle das wie du willst.
Die case-Methode ist Resourcensparender, weil nichts zuerst geparst werden muss.
 
So jetzt habe ich die Arrays in form gebracht, aber wie verarbeite ich jetzt alles, auch so wenn man auch auf einer Unterseite ist in Untermenü und trotzdem die Hauptseite wie Home in Menü hervorhebt?
PHP:
<?php
//Hier können neue Seiten ins Menü eingetragn werden, dazu müss man es folgenderweise eingetragen werden:
// key entspricht den key von "$current_page" also den namen von GET in der Adresszeile ->=> Menüname -> Adresse-> Datei -> Titel
//
//
//

$menu_data = array(
 "home"           => array("menutitle" => "Home",
                           "link" => "/index.php",
                           "documentname" => "home.html",
                           "title" => "Jonels Webseite",
                           "keywords" => ""
                          ),
 "neues"          => array("menutitle" => "Neues", 
                           "link" => "/index.php?page=neues", 
                           "documentname" => "page/neues.html", 
                           "title" => "Neues - Jonels Webseite",
                           "keywords" => ""
                          ),    
 "impressum"      => array("menutitle" => "Home", 
                           "link" => "/index.php?page=impressum",
                           "documentname" => "page", 
                           "title" => "Jonels Webseite",
                           "keywords" => ""
                          ),    
 "ueber_mich"     => array("menutitle" => "Home", 
                           "link" => "/index.php", 
                           "documentname" => "home.html", 
                           "title" => "Jonels Webseite",
                           "keywords" => ""
                          ),    
 "tutorials"      => array("menutitle" => "Home",
                           "link" => "/index.php",
                           "documentname" => "home.html",
                           "title" => "Jonels Webseite",
                           "keywords" => ""
                          ),    
 "python"         => array("menutitle" => "Home",
                           "link" => "/index.php",
                           "documentname" => "home.html",
                           "title" => "Jonels Webseite",
                           "keywords" => ""),      
 "desktopersteller"=> array("menutitle" => "Home",
                            "link" => "/index.php", 
                            "documentname" => "home.html", 
                            "title" => "Jonels Webseite",
                            "keywords" => ""
                           ), 
 "bastelecke"     => array("menutitle" => "Bastelecke", 
                           "link" => "/index.php?page=bastelecke", 
                           "documentname" => "page/bastelecke.php", 
                           "title" => "Jonels Webseite", 
                           "keywords" => ""
                          ),
 "games"     => array("menutitle" => "Games", 
                           "link" => "/index.php", 
                           "documentname" => "home.html", 
                           "title" => "Jonels Webseite", 
                           "keywords" => ""
                          ),
 "tutorials"     => array("menutitle" => "Tutorials", 
                           "link" => "/index.php?page=tutorials", 
                           "documentname" => "page/tutorials.php", 
                           "title" => "Tutorials - Jonels Webseite", 
                           "keywords" => ""
                          ),
 "projekte"     => array("menutitle" => "Projekte", 
                           "link" => "/index.php?page=projekte", 
                           "documentname" => "page/projekte.php", 
                           "title" => "Projekte - Jonels Webseite", 
                           "keywords" => ""
                          ),
 "bilder"     => array("menutitle" => "Bilder/Galerie", 
                           "link" => "/index.php?page=galerie", 
                           "documentname" => "page/tutorials.php", 
                           "title" => "Galerie - Jonels Webseite", 
                           "keywords" => ""
                          ),
 "forum"     => array("menutitle" => "Forum", 
                           "link" => "http://jtschoch.jt.funpic.de/forum", 
                           "documentname" => "http://jtschoch.jt.funpic.de/forum", 
                           "title" => "Jonels Webseite", 
                           "keywords" => ""
                          ),
 );


$submenu_data = array(
 "home"       => array("home", "neues", "impressum", "ueber_mich"),
 "bastelecke" => array("chat"),
 "projekte"   => array("projekte", "desktopersteller"),
 "tutorials"  => array("tutorials", "python"),
);

$submenu = array();
$page = array();
$page["testseite"] = "testseite.txt";
$page["edit"] = "edit.php";
$page["login"] = "login.php";
$page["logout"] = "logout.php";
$page["register"] = "registrierung.php";
$navi = "<ul id=\"NavigationLeiste\">\n";
foreach ($menu_data as $key => $value) {
  $page[$key] = $value[2];
  if ($key === $current_page) {
    $title = $value[3];
    $tags = $value[4];
  }
  $navi .= " <li>";
    if($key === $current_page) {
        $navi .= "<span>\n";   
        }
        if($key !== $current_page) {
         $navi .= "<a href='".$value[1]."'>";  
        }
       $navi .= $value[0];
        if($key !== $current_page) {
         $navi .= "</a>";
        }
    if($key === $current_page) {
        $navi .= "</span>\n";     
    }
   $navi .= "</li>\n";
 }
$navi .= "</ul>";
foreach ($va as $key_submenu) {
    
    //$w = fopen("daten.txt", "a+");
    //fwrite($w, $key_submenu);
    //fclose($w);
    print $key_submenu;
    }   



$navi1 = "<ul id=\"Navigation\">\n";
 foreach ($submenu_data as $key1 => $value1) {
  $page[$key1] = $value1[2];
  if ($key1 === $current_page) {
    $title = $value1[3];
    $tags = $value1[4];
  }
  $navi1 .= " <li>";
    if($key1 === $current_page) {
        $navi1 .= "<span>\n";   
        }
        if($key1 !== $current_page) {
         $navi1 .= "<a href='".$value1[1]."'>";  
        }
       //$navi1 .= $value1[0];
        $navi1 .= $key_submenu;
        if($key1 !== $current_page) {
         $navi1 .= "</a>";
        }
    if($key1 === $current_page) {
        $navi1 .= "</span>\n";     
    }
   $navi1 .= "</li>\n";
 }
$navi1 .= "</ul>";

?>

Edit:
Ich habe jetzt alle Seiten bei menu_data eingetragen, was ich aber nicht bedacht habe ist, das jetzt alle im Menü stehen, wie könnte ich das filtern?
 
Zuletzt bearbeitet:
PHP:
<?php
//Hier können neue Seiten ins Menü eingetragn werden, dazu müss man es folgenderweise eingetragen werden:
// key entspricht den key von "$current_page" also den namen von GET in der Adresszeile ->=> Menüname -> Adresse-> Datei -> Titel
//
//
//

$menu_data = array(
 "home"           => array("menutitle" => "Home",
                           "link" => "/index.php",
                           "documentname" => "home.html",
                           "title" => "Jonels Webseite",
                           "keywords" => "",
                           "menu" => "HS"
                          ),
 "games"     => array("menutitle" => "Games", 
                           "link" => "/index.php", 
                           "documentname" => "home.html", 
                           "title" => "Jonels Webseite", 
                           "keywords" => "",
                           "menu" => "H"
                          ),
 "bastelecke"     => array("menutitle" => "Bastelecke", 
                           "link" => "/index.php?page=bastelecke", 
                           "documentname" => "page/bastelecke.php", 
                           "title" => "Jonels Webseite", 
                           "keywords" => "",
                           "menu" => "HS"
                          ),
 "tutorials"      => array("menutitle" => "Tutorials",
                           "link" => "/index.php?page=tutorials",
                           "documentname" => "/page/tutorials.php",
                           "title" => "Jonels Webseite",
                           "keywords" => "",
                           "menu" => "HS"
                          ), 

 "bilder"     => array("menutitle" => "Bilder/Galerie", 
                           "link" => "/index.php?page=galerie", 
                           "documentname" => "page/tutorials.php", 
                           "title" => "Galerie - Jonels Webseite", 
                           "keywords" => "",
                           "menu" => "H"
                          ),
 "forum"     => array("menutitle" => "Forum", 
                           "link" => "http://jtschoch.jt.funpic.de/forum", 
                           "documentname" => "http://jtschoch.jt.funpic.de/forum", 
                           "title" => "Jonels Webseite", 
                           "keywords" => "",
                           "menu" => "H"
                          ),
 "neues"          => array("menutitle" => "Neues", 
                           "link" => "/index.php?page=neues", 
                           "documentname" => "page/neues.html", 
                           "title" => "Neues - Jonels Webseite",
                           "keywords" => "",
                           "menu" => "S"
                          ),    
 "impressum"      => array("menutitle" => "Home", 
                           "link" => "/index.php?page=impressum",
                           "documentname" => "page", 
                           "title" => "Jonels Webseite",
                           "keywords" => "",
                           "menu" => "S"
                          ),    
 "ueber_mich"     => array("menutitle" => "Home", 
                           "link" => "/index.php", 
                           "documentname" => "home.html", 
                           "title" => "Jonels Webseite",
                           "keywords" => "",
                           "menu" => "S"
                          ),    
 "python"         => array("menutitle" => "Home",
                           "link" => "/index.php",
                           "documentname" => "home.html",
                           "title" => "Jonels Webseite",
                           "keywords" => "",
                           "menu" => "S"
                          ),      
 "desktopersteller"=> array("menutitle" => "Home",
                            "link" => "/index.php", 
                            "documentname" => "home.html", 
                            "title" => "Jonels Webseite",
                            "keywords" => "",
                           "menu" => "S"
                           ),
 "projekte"     => array("menutitle" => "Projekte", 
                           "link" => "/index.php?page=projekte", 
                           "documentname" => "page/projekte.php", 
                           "title" => "Projekte - Jonels Webseite", 
                           "keywords" => "",
                           "menu" => "S"
                          ),
 );


$submenu_data = array(
 "home"       => array("home", "neues", "impressum", "ueber_mich"),
 "bastelecke" => array("chat"),
 "projekte"   => array("projekte", "desktopersteller"),
 "tutorials"  => array("tutorials", "python"),
);

$data = array("home", "games", "bastelecke", "projekte", "bilder", "forum");
$submenu = array();
$page = array();
$page["testseite"] = "testseite.txt";
$page["edit"] = "edit.php";
$page["login"] = "login.php";
$page["logout"] = "logout.php";
$page["register"] = "registrierung.php";
$navi = "<ul id=\"NavigationLeiste\">\n";
foreach ($menu_data as $key => $value) {
  $page[$key] = $value["documentname"];
  if ($key === $current_page) {
    $title = $value["title"];
    $tags = $value["keywords"];
  }
   if (($value["menu"] == "HS") || ($value["menu"] == "H")) {
  $navi .= " <li>";
    if($key === $current_page) {
        $navi .= "<span>\n";   
        }
        if($key !== $current_page) {
         $navi .= "<a href='".$value["link"]."'>";  
        }
       $navi .= $value["menutitle"];
        if($key !== $current_page) {
         $navi .= "</a>";
        }
    if($key === $current_page) {
        $navi .= "</span>\n";     
    }
   $navi .= "</li>\n";
   }
    }
$navi .= "</ul>";
?>

So Ich habe jetzt alles soweit geändert, das man jetzt im Hauptmenü hin und her gehen kann,
aber nicht beim Untermenü.
Meine letzte Frage ist wie mache ich das jezt mit der for Schleife beim Untermenü.
Zu Beachten dabei ist:
Hauptmenü - Aktuelle Seite soll hervorgehoben werden und auch beim Untermenü.
Könnt ihr mir dabei noch Helfen?

Link: http://jtschoch.jt.funpic.de
 
Zurück