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

Wie meinst du das?
Vielleicht musst du dein Array einfach anders aufbauen...

Wenn du keine Indizes hast, wird es schwer, das Array schön auszulesen!

PHP:
$array = array(
   "home" => array(
      "title" => "Webseitentitel",
      "submenu" => "sub_home",
      "filepath" => "/index.php",
      "documentname" => "index.html"
   )
);

Wäre mein Vorschlag...

Sinnvoll wäre es, für das Submenu ein zweites Array anzulegen, welches die selben Indizes hat wie das 1.
 
Zuletzt bearbeitet:
Na das ich z.B. von Home die "home", "neues", "impressum", "ueber_mich" bekomme und auch bei den Seiten Bastelecke ...
 
Ich brauche es dazu Der Seite das oder Die Entsprechenden Untermenü Einträge zu geben.
Ich habe doch bei mir noch ein Array für Untermenü wo die restlichen Informationen eingetragen sind.
 
Kannst du das nicht direkt über den Pagename lösen?
So wie von mir schon zu Beginn vorgeschlagen.
 
Ich kenne die PHP-Sprache noch nicht so gut ich Programmiere damit noch nicht lange.
Aber du hast recht, ich könnte es so machen ?page=seitenname&submenu=home,neues,impressum,ueber_mich.
Edit:
Problem müsste trozdem daten geben.
 
Nein, so meine ich das gar nicht!
Du kannst das Submenu schon als Array speichern!

Deine Seite rufst du so auf: index.php?page=seitenname

Dein Submenuarray so:
PHP:
$submenu = array(
   "seitenname" => array("home","neues","impressum","ueber_mich")
);

Dann kannst du das Submenu so auslesen:
PHP:
$page = $_GET['page'];
echo $submenu[$page];
 
Ach du meinst das:
PHP:
<?php 
echo '<ul>'; //Aufzählung starten 

switch($_GET['page']) //page auslesen 
{ 
   case home: //page=home 
      echo '<li>Punkt1</li><li>Punkt2</li>'; 
      break; 
   case bastellecke: //page=bastellecke 
      echo '<li>Punkt4</li><li>Punkt1239</li>'; 
      break; 
   default: //page=leer, nicht vorhanden 
      echo '<li>Punkt1</li><li>Punkt2</li>'; 
      break; 
} 

echo '</ul>'; 
?>
Ich werde es mal versuchen das ganze so aufzubauen,
da kann ich ja die entsprechenden Punkte mit geben.
 
Zurück