Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

dynamisches menü nicht ganz w3c valid

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
matin
PostRank 9
PostRank 9
Beiträge: 1427
Registriert: 08.09.2005, 15:16
Wohnort: Grünburg

Beitrag von matin » 04.12.2005, 17:11

hallo,

habe ein kleines problem. habe mir einen code für ein dynamisches menü heruntergeladen und auch irgendwie geschafft, dass das ganze funktioniert (habe keine erfahrung mit php). der code sieht so aus:

<?
/*
die Variable $siteRoot muss angepasst werden, wenn die dateien in einem Unterverzeichnis abgelegt werden. Wenn das Unterverzeichnis z.B. "DIR" heißt, dann muss $siteRoot="/DIR/"; sein
*/

$siteRoot="/";
$menuStruct=array(
"Home"=>array("root"=>$siteRoot."home.php"),
"Menüpunkt 1"=>array("root"=>$siteRoot."menuepunkt1.php", "Untermenü 1"=>$siteRoot."untermenue1.php", "Untermenü 2"=>$siteRoot."untermenue2.php"),
"Menüpunkt 2"=>array("root"=>$siteRoot."menupunkt2.php", "Untermenü 3"=>$siteRoot3."untermenu3php"),
);


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";
}
}
}
}
}
?>

das problem ist folgender code-abschnitt:
$siteRoot="/";

das "/" brauche ich im code, damit der weitere code den "aktiven Menüpunkt" ausliest und es entsprechend darstellt. wenn ich den slash weglasse, funzt das menü zwar, aber der aktive menüpunkt wird nicht angezeigt.

soweit so gut. das problem ist nur, wenn ich mit validitor.w3c.org den code überprüfe, zeigt es mir eine fehlermeldung wegen dem "/" vor dem link.

wie gesagt, ich versteh die ganzen codes da oben nicht wirklich. gibt es eine möglichkeit, dass man den "/" weglässt und trotzdem der aktive link ausgelesen wird?