Предполагам, че се опитвате да създадете меню за навигация. Където подзаписите трябва да се показват само когато елементът от горното меню е избран от посетителя на вашата страница.
Така ли е?
Добре, ако е така. Може би имате предвид това.
- ако потребител покаже вашата страница първи. може да покажете само горните елементи от менюто.
- ако след това потребителят избере един от горните елементи на менюто, той/тя кликва върху връзка и това презарежда вашия скрипт с допълнителна информация.
- Сега вашият скрипт трябва да разбере кой елемент от горното меню е избрал потребителят въз основа на допълнителната информация.
- В зависимост от избора на потребителя може да покажете или скриете елементи от подменюто.
Каква е вашата работа тук, трябва да сте сигурни, че вашият скрипт открива кой елемент от горното меню е кликнат.
Имате ли нужда от още помощ или е ясно какво да правите?
Добре, какво ще кажете за това като основен пример за динамични php менюта като 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>";
?>
Вижте всеки елемент от горното меню, предава допълнителната променлива "меню". Това е или "top1" или "top2" в този случай. Сега вашият скрипт при презареждане проверява дали „menu“ вече е зададено и в зависимост от стойността на „menu“ показва съответното подменю.
Има още дълъг път, тъй като в моя случай използвам фиксирани елементи от менюто, където във вашия случай зареждате елементите от менюто в зависимост от "userid".
Кажете ми дали примерът по-горе работи при вас и ако имате нужда от допълнителна поддръжка, за да го адаптирате към вашите динамично заредени менюта.
Следвайки тази идея, трябва да замените
<li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>
като добавите например името на променливата "level0"
<li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>
след това можете да проверите във вашето подменю дали "level0" е зададено както очаквате и след това да покажете или скриете елементите на подменюто.