hi!
folgendes, ich habe ein array, welches ein navigationsmenü darstellt,
es enthält main- und submenüeinträge, und das main bzw submenü soll
an verschiedenen positionen auf der seite ausgegeben werden.
nur weiß ich nicht genau wie ich das anstellen soll, es gibt da
nämlich ein porblem. und zwar scheint in meiner funktion der wert von
basename($REQUEST_URI) nicht bekannt zu sein.
das script rufe ich ganz normal auf, erstmal das require der navigation.php
<?php require("navigation.php"); ?>
und dann den funktionsaufruf für das jeweilige navigationsmenü (zB "main", "sub1")
<?php get_navigation("main"); ?>
<?php get_navigation("sub1"); ?>
Das main menü erscheint zwar, jedoch ist der gewählte menüpunkt nicht markiert und
das sub menü erscheint auch nicht.
schauts euch am besten mal an...
hier ist die navigation.php
Code:
<?php
function get_navigation($nav) {
////////////////////////////// Beginn der Einstellungen ////////////////////////////////
// Image
$img = "<img src=\"../images/icon_arrow.gif\" width=\"7\" height=\"7\">";
$break = "break";
// Nachfolgende Struktur duerfte sich nun von selbst erklaeren ;-)
$menu = array (
// Leerzeile //
"break1" => array ($break),
// Leerzeile //
"break2" => array ($break),
// Leerzeile //
"break3" => array ($break),
// Menue mit Submenue //
"VEREIN" => array ("index.php",
"VORSTAND" => "index1.php",
"VEREINSHEIM" => "index2.php",
"ANFAHRT" => "index.php"
),
// Leerzeile //
"break4" => array ($break),
// Menue mit 3 Submenues //
"BASKETBALL" => array ("index.php?m=200409"),
// Menue mit 1 Submenue //
"FUSSBALL" => array ("index.php?cat=1",
"1 man" => "index1.php",
"2 man" => "index2.php",
),
// Menue ohne Submenue //
"GYMNASTIK" => array ("gym.php"),
// Menue mit 3 Submenues //
"TENNIS" => array ("tenn.php"),
// Klammer zu *gg* //
);
////////////////////////////// Ende der Einstellungen ////////////////////////////////
switch($nav)
{
case "main" :
echo basename($REQUEST_URI);
echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
foreach($menu as $main => $mainlink){
$x = count ($mainlink);
if($mainlink[0] == basename($REQUEST_URI) && $mainlink[0] !== $break) {
echo "<tr><td><div class='title'>$img$main</div></td></tr>";
}
if($mainlink[0] !== basename($REQUEST_URI) && $mainlink[0] !== $break) {
echo "<tr><td>$img<a title=\"$main\" href=\"$mainlink[0]\">$main</a></td></tr>";
}
// LEERZEILE
else
if($mainlink[0] == $break) {
echo "<tr><td></td></tr>";
}
}
echo "</table>";
break;
case "sub1" :
echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
foreach($menu as $main => $mainlink){
foreach($mainlink as $sub =>$sublink){
$x = count ($mainlink);
if($mainlink[0] == basename($REQUEST_URI)) {
echo "<tr><td>$img<a title=\"$sub\" href=\"$sublink\">$sub</a></td></tr>";
}
if(array_search(basename($REQUEST_URI),$mainlink) && $sub[0] != ""){
if(basename($REQUEST_URI) == $sublink){
echo "<tr><td><div class='title'>$img$sub</div></td></tr>";
}
else{
echo "<tr><td>$img<a title=\"$sub\" href=\"$sublink\">$sub</a></td></tr>";
}
}
}
}
echo "</table>";
break;
case "sub2" :
echo "Navigation 2";
break;
default :
echo basename($REQUEST_URI);
echo "default";
break;
}
}
?>
danke!
