Chyba próbujesz stworzyć menu nawigacyjne. Gdzie wpisy podrzędne powinny pojawiać się tylko wtedy, gdy górny element menu zostanie wybrany przez odwiedzającego Twoją stronę.
Czy to prawda?
Ok, jeśli tak. Być może masz to na uwadze.
- jeśli użytkownik wyświetli Twoją stronę jako pierwszy. możesz pokazać tylko górne pozycje menu.
- jeśli następnie użytkownik wybierze jedną z górnych pozycji menu, którą kliknie na link, który ponownie załaduje skrypt z dodatkowymi informacjami.
- Teraz twój skrypt musi określić, który element górnego menu wybrał użytkownik na podstawie dodatkowych informacji.
- W zależności od wyboru użytkownika możesz pokazać lub ukryć elementy podmenu.
Twoja praca tutaj polega na upewnieniu się, że twój skrypt wykrywa, który element górnego menu jest klikany.
Potrzebujesz więcej pomocy, czy jest jasne, co robić?
Ok, co powiesz na to jako podstawowy przykład dla dynamicznych menu php jako 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>";
?>
Zobacz dowolny element górnego menu przekazuje dodatkową zmienną "menu". W tym przypadku jest to „top1” lub „top2”. Teraz twój skrypt przy przeładowaniu sprawdza, czy "menu" jest już ustawione i w zależności od wartości "menu" pokazuje odpowiednie podmenu.
Przed nami jeszcze długa droga, ponieważ w moim przypadku używam stałych pozycji menu, gdzie w twoim przypadku ładujesz pozycje menu w zależności od "userid".
Daj mi znać, czy powyższy przykład działa u Ciebie i czy potrzebujesz dodatkowego wsparcia, aby dostosować go do dynamicznie ładowanych menu.
Podążając za tym pomysłem, musisz wymienić
<li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>
dodając np. nazwę zmiennej "level0"
<li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>
następnie możesz sprawdzić w swoim podmenu, czy "level0" jest ustawiony zgodnie z oczekiwaniami, a następnie pokazać lub ukryć pozycje podmenu.