Hallo zusammen
Leider stehe ich seit Stunden auf dem Schlauch, so dass ich eure Hilfe benötige.
Ich habe eine einfach PHP Navigation zusammen gebastelt, doch leider funktioniert sie nicht wie gewünnscht.
Das Ziel wäre, dass die Navigation 2 Unterkategorien hat, welche nur angezeigt werden, wenn die entsprechende höher gelegene Kategorie angewählt wurde. Das ganze wollte ich ohne JS und Datenbank lösen. Das ganze funktioniert auch soweit, bis zur 1. Unterkategorie. Doch die 2. Unterkategorie, wird dann auch gleich angezeit, ob diese erste angezeigt werden sollte, wenn ich die 1. Unterkategorie anklicke. Ich hoffe Ihr verstehe was ich meine. Ansonsten könnt Ihr es unter diesimpsons.ch einmal ansehen (Shop->T-Shirts). Die Shirts z.B. Homer Simpsons, sollten erst angezeigt werden, nach dem Klick auf T-Shirts und nicht bereit nach dem Klick auf Shop.
Hier mein Code:
<?php
// Main menu items
$mainMenu[' Startseite'] = 'index.php';
$mainMenu[' Shop'] = 'fanartikel-merchandising-shop.php';
$mainMenu[' Homer Simpson'] = 'homer-jay-simpson.php';
$mainMenu[' Hinter den Kulissen'] = 'die-simpsons-hinter-den-kulissen.php';
$mainMenu[' Videos & Clips'] = 'die-simpsons-videos.php';
$mainMenu[' Kreative Fans'] = 'kreative-simpsons-fans.php';
// Sub menu items
$subMenu[' Shop']['- DVD & Blue Ray'] = 'the-simpsons-dvds-blueray.php';
$subMenu[' Shop']['- T-Shirts'] = 'simpsons-t-shirts.php';
$subMenu[' Kreative Fans']['Lego Simpsons Intro'] = 'lego-simpsons-intro.php';
$subMenu[' Kreative Fans']['Erfundene Figuren'] = 'simpsons-kreationen.php';
$subMenu[' Kreative Fans']['Intro in echt'] = 'simpsons-intro-von-menschen-gespielt.php';
$subMenu[' Kreative Fans']['Simpsons Intro in 3D'] = 'simpsons-3d-intro.php';
$subMenu[' Kreative Fans']['Spezial von Fox TV'] = 'die-simpsons-start-einmal-anders.php';
// SubSub menu items
$subMenu2[' Shop']['- T-Shirts']['Homer Simpson'] = 'homer-simpson-shirt.php';
$subMenu2[' Shop']['- T-Shirts']['Men at work'] = 'homer-simpson-shirt-men-at-work.php';
?>
<?php
echo "<div class='navi'><p>";
class maxNavigation{
function showMenu(){
global $mainMenu,$subMenu,$subMenu2;
$actualPage = $_SERVER['PHP_SELF'];
$actualPath = $_SERVER['REQUEST_URI'];
$actualPageName = basename($actualPage);
//echo $page;
//echo $_SERVER['REQUEST_URI'];
//echo "$actualPage <br/> $actualPath";
$actMenu = '';
$actMenu2 = '';
foreach ($mainMenu as $menu => $link) {
if ($link == $actualPageName) $actMenu = $menu;
if (isset($subMenu[$menu])){
foreach ($subMenu[$menu] as $menuSub => $linkSub) {
if ($linkSub == $actualPageName) $actMenu = $menu;
}
}
if (isset($subMenu2[$menu]['- T-Shirts'])){
foreach ($subMenu2[$menu]['- T-Shirts'] as $menuSub2 => $linkSub2) {
if ($linkSub2 == $actualPageName) $actMenu2 = $menu;
}
}
}
// Now display the menu
foreach ($mainMenu as $menu => $link) {
$class = ' class="mainMenuLink" ';
if ($actualPageName == $link) $class=' class="mainMenuLinkSelected" ';
echo '<a'.$class.'href="'.$link.'">'.$menu.'</a>';
if ( ($actMenu == $menu) && (isset($subMenu[$menu])) ){
foreach ($subMenu[$menu] as $menuSub => $linkSub) {
$class = ' class="subMenuLink" ';
if ($actualPageName == $linkSub) $class=' class="subMenuLinkSelected" ';
echo '<a'.$class.'href="'.$linkSub.'">'.$menuSub.'</a>';
}
}
if ( ($menuSub == "- T-Shirts") && (isset($subMenu2[$menu]['- T-Shirts'])) ){
foreach ($subMenu2[$menu]['- T-Shirts'] as $menuSub2 => $linkSub2) {
$class = ' class="subMenuLink" ';
if ($actualPageName == $linkSub2) $class=' class="subMenuLinkSelected" ';
echo '<a'.$class.'href="'.$linkSub2.'">'.$menuSub2.'</a>';
}
}
}
}
}
$navi = new maxNavigation();
$navi->showMenu();
echo "</p></div>";
?>
Ich hoffe es kann mir jemand helfen und den Knopf bei mir lösen. Vielen Dank für Eure Hilfe.