Du prøver vel at lave en navigationsmenu. Hvor underposterne kun skal vises, når det øverste menupunkt er valgt af den besøgende på din side.
Er det rigtigt?
Ok hvis ja. Det har du måske i tankerne.
- hvis en bruger viser din side først. du viser muligvis kun de øverste menupunkter.
- hvis en bruger så vælger et af de øverste menupunkter, klikker han/hun på et link og genindlæser dit script med nogle yderligere oplysninger.
- Nu skal dit script finde ud af, hvilket topmenupunkt brugeren valgte baseret på de yderligere oplysninger.
- Afhængigt af valget af bruger kan du muligvis vise eller skjule undermenupunkter.
Hvad dit job er her, skal du sørge for, at dit script registrerer, hvilket topmenupunkt der klikkes på.
Har du brug for mere hjælp, eller er det klart, hvad du skal gøre?
Okay hvad med dette som et grundlæggende eksempel for dynamiske php-menuer som test.php
<?php
$menu="";
extract( $_GET, EXTR_PREFIX_ALL, "url" );
if (isset($url_menu)){
$menu=$url_menu;
echo "you selected ".$menu."<br>";
}
echo "<ul>";
// top menu 1
echo '<li><a href="./test.php?menu=top1">Top1</a>';
if ($menu=="top1"){
echo "<ul>";
echo "<li>Submenu</li>";
echo "</ul>";
}
echo "</li>";
// top menu 2
echo '<li><a href="./test.php?menu=top2">Top2</a>';
if ($menu=="top2"){
echo "<ul>";
echo "<li>Submenu</li>";
echo "</ul>";
}
echo "</li>";
echo "</ul>";
?>
Se ethvert topmenupunkt overdrager den ekstra variabel "menu". Dette er enten "top1" eller "top2" i dette tilfælde. Nu kontrollerer dit script ved genindlæsning, om "menu" allerede er indstillet, og afhængigt af værdien af "menu" viser det den tilsvarende undermenu.
Der er stadig lang vej igen, for i mit tilfælde bruger jeg faste menupunkter, hvor du i dit tilfælde indlæser menupunkterne alt efter "brugerid".
Fortæl mig, om eksemplet ovenfor fungerer hos dig, og om du har brug for yderligere support til at overtage det til dine dynamisk indlæste menuer.
Efter den idé skal du erstatte
<li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>
ved at tilføje for eksempel variabelnavnet "niveau0"
<li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>
så kan du tjekke din undermenu ind, hvis "niveau0" er indstillet som du forventer det og derefter vise eller skjule undermenupunkterne.