Hallo,
ich habe vor kurzem eine dynamische Navigation in PHP im Internet gesucht und gefunden(es gibt Überkategorien und wenn diese aktiviert sind öffnen sich die Unterkategorien, das ganze mit farblichen Hervorhebungen). Im Hintergrund der Navigation habe ich ein Bild, dies muss allerdings jedesmal wenn ich die Kategorie wechsle neu geladen werden da eine neue Datei geöffnet wird, jetzt wollte ich das ganze per include vereinfachen, also einfach den neuen Text includen da sich am Design nichts verändert doch da kam das Problem, die Menüunterpunkte wurden nicht mehr angezeigt und auch die Überkategorien nicht mehr farblich hervorgehoben.
Hier der Code der Datei navigation.php(hier sind die Kategorien in einem Array aufgelistet und werden mit einer Funktion ausgewertet)
Jetzt wollte ich aus z.B. "kategorie1.php" "index.php?inc=kategorie1", jetzt stimmt allerdings das $PHP_SELF nicht mehr mit dem überein das es vorher war, denn jetzt steht "index.php" da und nicht mehr "kategorie1.php", und daran liegt es glaub ich, bin mir aber nicht sicher.
Und wie kann ich das jetzt verändern?
Hoffe Ihr könnt mir helfen.
MfG
hab1cht
ich habe vor kurzem eine dynamische Navigation in PHP im Internet gesucht und gefunden(es gibt Überkategorien und wenn diese aktiviert sind öffnen sich die Unterkategorien, das ganze mit farblichen Hervorhebungen). Im Hintergrund der Navigation habe ich ein Bild, dies muss allerdings jedesmal wenn ich die Kategorie wechsle neu geladen werden da eine neue Datei geöffnet wird, jetzt wollte ich das ganze per include vereinfachen, also einfach den neuen Text includen da sich am Design nichts verändert doch da kam das Problem, die Menüunterpunkte wurden nicht mehr angezeigt und auch die Überkategorien nicht mehr farblich hervorgehoben.
Hier der Code der Datei navigation.php(hier sind die Kategorien in einem Array aufgelistet und werden mit einer Funktion ausgewertet)
PHP:
<?
/*
die Variable $siteRoot muss angepasst werden, wenn die PHP_SELFen in einem Unterverzeichnis abgelegt werden. Wenn das Unterverzeichnis z.B. "DIR" heißt, dann muss $siteRoot="/DIR/"; sein
*/
$siteRoot="/hab_ich_dich/";
$menuStruct=array(
"Home"=>array("root"=>$siteRoot."index.php"),
"Kategorie1"=>array("root"=>$siteRoot."kategorie1.php", "Unterkategorie1"=>$siteRoot."unterkategorie1.php"),
"Kategorie2"=>array("root"=>$siteRoot."Kategorie2.php", "Unterkategorie2"=>$siteRoot."Unterkategorie2.php")
);
if($PHP_SELF == $menuStruct[0]['root']){
foreach($menuStruct as $key=>$value){
if($PHP_SELF == $value['root']){
echo "<div class=\"fstLevelActive\"><a href=".$value['root'].">$key</a></div>\n";
}
else{
echo "<div class=\"fstLevel\"><a href=".$value['root'].">$key</a></div>\n";
}
}
} else {
foreach($menuStruct as $key=>$value){
if($PHP_SELF == $value['root']){
echo "<div class=\"fstLevelActive\"><a href=".$value['root'].">$key</a></div>\n";
}else{
echo "<div class=\"fstLevel\"><a href=".$value['root'].">$key</a></div>\n";
}
foreach($value as $key2=>$value2){
if(array_search($PHP_SELF,$value)){
if($key2 != "root")
if($PHP_SELF == $value2){
echo "<div class=\"secLevelActive\"><a href=".$value2.">$key2</a></div>\n";
}else{
echo "<div class=\"secLevel\"><a href=".$value2.">$key2</a></div>\n";
}
}
}
}
}
?>
Und wie kann ich das jetzt verändern?
Hoffe Ihr könnt mir helfen.
MfG
hab1cht
Zuletzt bearbeitet: