Мой сайт PHP содержит файлы заголовка, тела и нижнего колонтитула, которые включены в страницу INDEX.PHP.
В файле header.php у меня есть такое меню
<div id="bottomrow">
<div class="pad">
<ul class="menu left">
<li class="first <?=$current_home?>"><a href="/"><em>Home</em></a></li>
<li class="users drop <?=$current_users?>"><a href=""><em>Users</em></a><span class="drop"> </span>
<ul id="moreheader">
<li></li>
<li></li>
</ul>
</li>
<li class="<?=$current_forum?>"><a href=""><em>Forums</em></a></li>
<li class="drop <?=$current_more?>"><a href="/moreheader"><em>More</em></a><span class="drop"> </span>
<ul id="moreheader">
<li><a href=""><em>Widgets</em></a></li>
<li><a href=""><em>News</em></a></li>
<li><a href=""><em>Promote</em></a></li>
<li><a href=""><em>Development</em></a></li>
<li><a href=""><em>Bookmarks</em></a></li>
<li><a href=""><em>About</em></a></li>
</ul>
</li>
<li class="moneytabmenu <?=$current_money?>"><a href="/moneytabmenu"><em>Money:<span class="moneytabmenu-total">$0.00</span></em></a></li>
</ul>
<ul class="menu right">
<li class="drop myaccount <?=$current_myaccount?>"><a href="" class="first"><img class="avatar" src="http://gravatar.com/avatar.php?gravatar_id=7ab1baf18a91ab4055923c5fd01d68a2&rating=pg&size=80&default=" height="19" width="19" alt="you" /><em>My
Account</em></a><span class="drop"> </span>
<ul id="myaccount">
<li><a href=""><em>Dashboard</em></a></li>
<li><a href=""><em>Account Settings</em></a></li>
<li><a href=""><em>Settings</em></a></li>
</ul>
</li>
<li class="drop"><a href=""><em>Mail</em></a><span class="drop"> </span>
<ul id="mailboxheader">
<li><a href=""><em>InBox</em></a></li>
<li><a href=""><em>SentBox</em></a></li>
<li><a href=""><em>Trash</em></a></li>
<li><a href=""><em>Post Bulletin</em></a></li>
<li><a href=""><em>View Bulletins</em></a></li>
</ul>
</li>
<li class="drop <?=$current_more?>"><a href=""><em>More</em></a><span class="drop"> </span>
<ul id="moreheader">
<li><a href=""><em>Widgets</em></a></li>
<li><a href=""><em>News</em></a></li>
<li><a href=""><em>Promote</em></a></li>
<li><a href=""><em>Development</em></a></li>
<li><a href=""><em>Bookmarks</em></a></li>
<li><a href=""><em>About</em></a></li>
</ul>
</li>
</ul>
</div>
</div>
<!-- END div#bottomrow -->
</div>
Меню похоже на приведенное выше, указанное выше меню не заполнено, но вы можете увидеть, как оно настроено, есть
пунктов списка, которые составляют меню, и некоторые из элементов списка имеют элементы SUB-LIST для составьте подменю для некоторых пунктов главного меню.
Если пользователь находится на какой-либо из страниц в подменю, он должен добавить «текущий» класс CSS к родительскому пункту меню.
Ниже моя страница index.php, где я могу определить, на какой странице я использую $ _GET для переменной index.php? P = PAGE-NAME
Я опубликовал вопрос, похожий на этот, но это было до того, как я сделал приведенный ниже код, и он не получил большого отклика, ответ, который он все-таки упомянул, используя массивы, но это было до того, как появились новые, у меня были подменю. 1012 *
Так кто-нибудь видит лучший способ добавить класс css "current" к элементу списка выше на основе того, на какой странице я нахожусь?
Код на странице INDEX.php, который обрабатывает, какой пункт меню должен быть выделен
//set variables for menu item to appear as being SELECTED
$p = $_GET['p'];
$current_home = '';
$current_users = '';
$current_forum = '';
$current_more = '';
$current_money = '';
$current_myaccount = '';
$current_mail = '';
//if home then highlight home menu
if($p === 'home'){
$current_home = 'current';
}
if($p === 'users.online' || $p === 'users.location' || $p === 'users.featured' || $p === 'users.new' || $p === 'users.browse' || $p === 'users.search' $p === 'users.staff'){
$current_users = 'current';
}
if($p === 'forum'){
$current_forum = 'current';
}
if($p === 'widgets' || $p === 'news' || $p === 'promote' || $p === 'development' || $p === 'bookmarks' || $p === 'about'){
$current_more = 'current';
}
if($p === '=account.money' || $p === 'account.store' || $p === 'account.lottery' || $p === 'users.top.money'){
$current_money = 'current';
}
if($p === 'account'){
$current_myaccount = 'current';
}
if($p === 'mail.inbox' || $p === '=mail.sentbox' || $p === 'mail.trash' || $p === 'bulletins.post' || $p === 'bulletins.my' || $p === 'bulletins'){
$current_mail = 'current';
}