Hi !
Habe ein kleines Problem mit einem Menü, aber zuerst mal, was ich bisher habe.
Soweit das Array ... nun die eigentlich Funktion ...
Wie ihr vielleicht erkennen könnt, schaue ich im Moment noch auf die URL inkl. der Parameter, was mir aber zu umständlich ist (wenn es mal mehr als nur den einen Parameter gibt) und momentan auch nur bis zur ersten tieferen Ebene funktioniert.
Nun habe ich obe im Array schon das Element "open" reingemacht, welches ich bei der Aktivierung des Unterbaums gerne auf eins setzen würde und darüber dann entscheiden möchte, welcher Unterbaum aufgeklappt werden soll.
Nun hab ich aber das Problem, dass ein "böser" Benutzer ganz unten in einem Untermenü sein kann und dann auf ein Hauptmenü klickt. Da müsste ich ja die ganze Strecke der auf 1 gesetzten "open" Elemente nachverfolgen und gleichzeitig das andere Untermenü auf open=1 setzen. Und setzt es gerade bei mir aus.
Zu Hülf büdde.
Gruß
le_cheffe
Habe ein kleines Problem mit einem Menü, aber zuerst mal, was ich bisher habe.
PHP-Code:
$menu = array
(
"1" => array
(
"name" => "Menü 1",
"url" => "billig_menue.php?page=m1",
"open" => 0
),
"2" => array
(
"name" => "Menü 2",
"url" => "billig_menue.php?page=m2",
"open" => 0
),
"3" => array
(
"name" => "Menü 3",
"url" => "billig_menue.php?page=m3",
"open" => 0,
"content" => array
(
"1" => array
(
"name" => "Submenü 3.1",
"url" => "billig_menue.php?page=sm1",
"open" => 0
),
"2" => array
(
"name" => "Submenü 3.2",
"url" => "billig_menue.php?page=sm2",
"open" => 0,
"content" => array
(
"1" => array
(
"name" => "Subsubmenü 3.2.1",
"url" => "billig_menue.php?page=ssm1",
"open" => 0
)
)
),
"3" => array
(
"name" => "Submenü 3.3",
"url" => "billig_menue.php?page=sm3",
"open" => 0
)
)
),
"4" => array
(
"name" => "Menü 4",
"url" => "billig_menue.php?page=m4",
"open" => 0
)
);
PHP-Code:
function rek_ausgabe ($akt, $ebene) {
$pos = 1;
do {
for ($i = 0;$i < $ebene; $i++)
{
echo "-";
}
echo ' <a href="' . $akt[$pos]["url"] . '">' . $akt[$pos]["name"] . '</a><br />';
if ((is_array($akt[$pos]["content"])) && (basename($_SERVER["REQUEST_URI"]) == $akt[$pos]["url"])) {
rek_ausgabe($akt[$pos]["content"], ($ebene + 1));
$pos = $pos + 1;
} else {
$pos = $pos + 1;
}
} while (next($akt) != FALSE);
}
Nun habe ich obe im Array schon das Element "open" reingemacht, welches ich bei der Aktivierung des Unterbaums gerne auf eins setzen würde und darüber dann entscheiden möchte, welcher Unterbaum aufgeklappt werden soll.
Nun hab ich aber das Problem, dass ein "böser" Benutzer ganz unten in einem Untermenü sein kann und dann auf ein Hauptmenü klickt. Da müsste ich ja die ganze Strecke der auf 1 gesetzten "open" Elemente nachverfolgen und gleichzeitig das andere Untermenü auf open=1 setzen. Und setzt es gerade bei mir aus.
Zu Hülf büdde.
Gruß
le_cheffe