andymation
Cadet 1st Year
- Registriert
- Sep. 2011
- Beiträge
- 14
[PHP] vertikale Navigation mit Untermenü
Hallo,
beschäftige mich jetzt seit ein paar Tagen mit PHP, bin also blutiger Anfänger und verzweifle gerade an folgendem Problem:
Ich programmiere eine Webseite, auf der es ein horizontales Menü gibt, und ein vertikales Menü an der Seite, bei dem einige Navigationspunkte jeweils nochmal ein Untermenü haben sollen.
Das horizontale Menü habe ich per CSS realisiert. Dh. für jeden Menüpunkt gibt es auch eine eigene Seite.
Das vertikale Menü wird durch den Wechsel des Menüpunkts im horizontalen Menü komplett ausgetauscht.
In der Mitte der Seite werden nun per PHP include die Inhalte geladen.
Ich bin jetzt dabei, die Seitennavigation per PHP zu programmieren.
Nochmal zum Verständnis: Gemeint ist ein vertikales Menü, ähnlich einer Liste, bei dem einige Menüpunkte auch untergeordnete Menüpunkte haben sollen. Alle Menüpunkte sollen darüber hinaus per Link einen Include-Befehl auf der Seite ansprechen.
Jedenfalls habe ich jetzt schon diverse Forenbeiträge durchsucht, PHP-Tutorials und -Einstiegslektüre gelesen, habe auch themenähnliche Beiträge gefunden, konnte mir damit allerdings noch nicht so recht weiterhelfen...
(...) Inhalte entfernt, weil nicht mehr aktuell.
Habe mich weiter mit meinem Problem beschäftigt (sitze mittlerweile schon seit gut 10 Stunden dran
), nen anderen Code gefunden von dem ich erst dachte er sei einfacher, und eingebaut aber ich schaffs einfach nicht, die Links meinen include-Befehl ansprechen zu lassen...
...außerdem sind die Menüpunkte mit Untermenü keine Links, sondern haben lediglich die Funktion das Untermenü zu öffnen, es sollen jedoch ALLE Menüpunkte auch Links sein, die per include-Befehl Inhalte in den Content-Bereich der Seite laden.
Das ist mein "neuer" PHP-Code:
HTML:
Include-Befehl (ich habe keine Ahnung wie der noch verändert werden muss, damit er mit der neuen Navigation funktioniert):
Meine Frage ist jetzt also, wie kann ich mit diesem Script Links ausgeben, die mein include ansprechen? Bisher habe ich mit einem Array die Variable $section genutzt. Ich komme hier einfach nicht weiter!
Hoffe es kann mir noch jemand helfen, tausend Dank schon mal im Voraus!!
Grüße
Andy
Hallo,
beschäftige mich jetzt seit ein paar Tagen mit PHP, bin also blutiger Anfänger und verzweifle gerade an folgendem Problem:
Ich programmiere eine Webseite, auf der es ein horizontales Menü gibt, und ein vertikales Menü an der Seite, bei dem einige Navigationspunkte jeweils nochmal ein Untermenü haben sollen.
Das horizontale Menü habe ich per CSS realisiert. Dh. für jeden Menüpunkt gibt es auch eine eigene Seite.
Das vertikale Menü wird durch den Wechsel des Menüpunkts im horizontalen Menü komplett ausgetauscht.
In der Mitte der Seite werden nun per PHP include die Inhalte geladen.
Ich bin jetzt dabei, die Seitennavigation per PHP zu programmieren.
Nochmal zum Verständnis: Gemeint ist ein vertikales Menü, ähnlich einer Liste, bei dem einige Menüpunkte auch untergeordnete Menüpunkte haben sollen. Alle Menüpunkte sollen darüber hinaus per Link einen Include-Befehl auf der Seite ansprechen.
Jedenfalls habe ich jetzt schon diverse Forenbeiträge durchsucht, PHP-Tutorials und -Einstiegslektüre gelesen, habe auch themenähnliche Beiträge gefunden, konnte mir damit allerdings noch nicht so recht weiterhelfen...
(...) Inhalte entfernt, weil nicht mehr aktuell.
Ergänzung ()
Habe mich weiter mit meinem Problem beschäftigt (sitze mittlerweile schon seit gut 10 Stunden dran

...außerdem sind die Menüpunkte mit Untermenü keine Links, sondern haben lediglich die Funktion das Untermenü zu öffnen, es sollen jedoch ALLE Menüpunkte auch Links sein, die per include-Befehl Inhalte in den Content-Bereich der Seite laden.
Das ist mein "neuer" PHP-Code:
PHP:
<?php
//Menue 1
$menu_1 = array(
"Eins" => "eins.php",
);
//Menue 2
$menu_2 = array(
"Zwei" => "zwei.php",
"Drei" => "drei.php",
"Vier" => "vier.php",
);
function show_submenu($menu_data,$this_id) {
$navi="";
if (isset($_GET[$this_id])){
$navi = "<ul>\n";
foreach ($menu_data as $title => $url) {
if (is_array($url))
{
$navi .= " <li><a href='?".$this_id."&".$title."'>(".$title.")\n";
$navi .= show_submenu($url,$title);
$navi .= "</li>\n";
}else{
$navi .= " <li><a href='?".$url."?".$this_id."'>".$title."</li>\n";}
}
$navi .= "</ul>";
}
return $navi;
}
?>
HTML:
PHP:
<ul>
<li><a href="?submenu1">Untermenü 1</a>
<?php echo show_submenu($menu_1,"submenu1") ; ?>
</li>
<li><a href="#">test</a></li>
<li><a href="?submenu2">Untermenü 2</a>
<?php echo show_submenu($menu_2,"submenu2") ; ?>
</li>
</ul>
Include-Befehl (ich habe keine Ahnung wie der noch verändert werden muss, damit er mit der neuen Navigation funktioniert):
PHP:
<?php
if (isset($_GET['section'], $section[$_GET['section']])) {
include $section[$_GET['section']];
} else {
include $section['start'];
}
?>
Meine Frage ist jetzt also, wie kann ich mit diesem Script Links ausgeben, die mein include ansprechen? Bisher habe ich mit einem Array die Variable $section genutzt. Ich komme hier einfach nicht weiter!

Hoffe es kann mir noch jemand helfen, tausend Dank schon mal im Voraus!!
Grüße
Andy
Zuletzt bearbeitet:
(Aktualisierung)