M
Mr. Snoot
Gast
edit: okay, ich denke ich habs. Einfach mit ner if-Abfrage prüfen, welches Hauptmenü gewählt wurde, und die Variable in der foreach()-Anweisung auf $topics1, $topics2 usw. setzen...
Hio,
ich will gerade meine Menüstruktur etwas aufpeppen, und das ganze etwas dynamisch machen. Leider verbiegen sich mir langsam die Gehirnwindungen und ich blick nicht mehr durch
Kurze Erklärung:
Ich habe ein Menü, wird einer der Hauptmenüpunkte ausgewählt, wird er hervorgehoben und zugleich soll das zugehörige Untermenü angezeigt werden (zwischen dem zugehörigen Hauptmenüpunkt und den nächsten Hauptmenüpunkten). Wird wiederrum einer der Untermenüpunkte ausgewählt, soll auch dieser hervorgehoben werden.
Im Grunde habe ich alle Bestandteile für das Hauptmenü und das Untermenü, es geht jetzt nur noch um das Verflechten der beiden Scripte.
Hauptmenü ohne Untermenü:
Das Untermenü sieht im Grunde genau so aus und muss jetzt eben da eingearbeitet werden, aber irgendwo hakt es.
Theoretisch sähe das ganze irgendwie so aus:
Mein eigentliches Problem ist jetzt nur, in der zweiten foreach()-Anweisung automatisch das richtige Untermenü aufzurufen (dort wo es jetzt im Moment heißt: foreach ($topics1 as ...).
Im Grunde klappt alles so wie es sein soll, nur eben an dieser Stelle steh ich auf dem Schlauch. Kann ja nicht mehr sehr schwer sein

Hio,
ich will gerade meine Menüstruktur etwas aufpeppen, und das ganze etwas dynamisch machen. Leider verbiegen sich mir langsam die Gehirnwindungen und ich blick nicht mehr durch

Kurze Erklärung:
Ich habe ein Menü, wird einer der Hauptmenüpunkte ausgewählt, wird er hervorgehoben und zugleich soll das zugehörige Untermenü angezeigt werden (zwischen dem zugehörigen Hauptmenüpunkt und den nächsten Hauptmenüpunkten). Wird wiederrum einer der Untermenüpunkte ausgewählt, soll auch dieser hervorgehoben werden.
Im Grunde habe ich alle Bestandteile für das Hauptmenü und das Untermenü, es geht jetzt nur noch um das Verflechten der beiden Scripte.
Hauptmenü ohne Untermenü:
PHP:
<?php
// das Array mit den Haupt-Menüpunkten
$chapter =
array(
"menu1" => "Menu1",
"menu2" => "Menu2",
"menu3" => "Menu3"
);
// wenn der URL-Parameter "kapitel" nicht gesetzt ist, setze ihn auf 'index' ansonsten übernehme den Parameter
if (!isset($_GET['kapitel']))
{
$kapitel = "index";
}
else
{
$kapitel = strtolower($_GET['kapitel']);
}
// Speichere den eigenen Seitennamen in der Variable $myself
$myself = $_SERVER['PHP_SELF'];
?>
<ul id="navigation">
<?php
foreach ($chapter as $key => $value) {
$id = "";
if ($key == $kapitel) {
$id = "id=\"active\"";
}
echo "\t\t\t\t<li><a $id href=\"$myself?kapitel=$key\">$value</a></li>\n";
}
?>
</ul>
<?php
@require_once("$kapitel.php");
?>
Theoretisch sähe das ganze irgendwie so aus:
PHP:
<?php
// das Array mit den Haupt-Menüpunkten
$chapter =
array(
"menu1" => "Menu1",
"menu2" => "Menu2",
"menu3" => "Menu3"
);
// Arrays mit Untermenüpunkten
$topics1 =
array(
"untermenu11" => "Untermenu11",
"untermenu12" => "Untermenu12"
)
$topics2 =
array(
"untermenu21" => "Untermenu21",
"untermenu22" => "Untermenu22"
)
// wenn der URL-Parameter "kapitel" nicht gesetzt ist, setze ihn auf 'index' ansonsten übernehme den Parameter
if (!isset($_GET['kapitel']))
{
$kapitel = "index";
}
else
{
$kapitel = strtolower($_GET['kapitel']);
}
// wenn der URL-Parameter "thema" nicht gesetzt ist, setze ihn auf 'inhalt' ansonsten übernehme den Parameter
if (!isset($_GET['thema']))
{
$thema = "inhalt";
}
else
{
$thema = strtolower($_GET['thema']);
}
// Speichere den eigenen Seitennamen in der Variable $myself
$myself = $_SERVER['PHP_SELF'];
?>
<ul id="navigation">
<?php
foreach ($chapter as $key => $value) {
$id = "";
if ($key == $kapitel) {
$id = "id=\"active\"";
}
echo "\t\t\t\t<li><a $id href=\"$myself?kapitel=$key\">$value</a></li>\n";
if ($key == $kapitel) {
echo "<ul id=\"subnavlist\">";
foreach ($topics1 as $subkey => $subvalue) {
$id = "";
if ($subkey == $thema) {
$id = "id=\"subactive\"";
}
echo "\t\t\t\t<li><a $id href=\"$myself?kapitel=$key&thema=$subkey\">$subvalue</a></li>\n";
}
echo "</ul></li>";
}
}
?>
</ul>
...
..
.
Im Grunde klappt alles so wie es sein soll, nur eben an dieser Stelle steh ich auf dem Schlauch. Kann ja nicht mehr sehr schwer sein


Zuletzt bearbeitet: