我没有在每个页面中重复导航条形码,而是想为导航菜单栏编写一段PHP代码,并将该文件包含在相关页面中。我的第一个导航栏菜单的HTML代码如下。 (默认情况下," USERS"被选中。)
<ul>
<li class="active" ><a href="administrator1.php"><span><B>USERS</B></span></a></li>
<li><a href="administrator2.php"><span><B>CREATE PROFILE</B></span></a></li>
<li><a href="administrator3.php"><span><B>PAYMENTS</B></span></a></li>
<li><a href="administrator4.php"><span><B>DEFENSE</B></span></a></li>
<li><a href="administrator5.php"><span><B>PROGRESS REPORT</B></span></a></li>
</ul>
所以我将上面的代码更改为PHP代码。具有此代码的文件名是&#39; test.php&#39;
<?php
$menu = array(
'users' => array('text'=>'USERS', 'url'=>'?p=administrator1.php'),
'createProfile' => array('text'=>'CREATE PROFILE', 'url'=>'?p=administrator2.php'),
'payment' => array('text'=>'PAYMENTS', 'url'=>'?p=administrator3.php'),
'defense' => array('text'=>'DEFENSE', 'url'=>'?p=administrator4.php'),
'progressReport' => array('text'=>'PROGRESS REPORT', 'url'=>'p=administrator5.php'),);
class Nav {
public static function GenerateMenu($items) {
$html = "<ul>";
foreach($items as $item) {
$html .= "<li><a href='{$item['url']}' ><span><B>{$item['text']}</B></span> </a></li>";
}
$html .= "</ul>";
return $html;
}
};
?>
在&#39; administrator1.php&#39;我将上述功能调用如下;
<?php
include 'test.php';
echo Nav::GenerateMenu($menu);
?>
我的问题是,我怎样才能把'admin1.php&#39;作为默认选择的菜单列表项以及如何将所选列表项放入CSS类?
所选列表项应具有“活动”功能。 CSS类。
<li class="active" >
答案 0 :(得分:0)
检查当前脚本文件名是否是导航中显示的URL的一部分。如果是,则将active
类分配给它。
foreach($items as $item) {
if(stristr($item['url'],__FILE__)===FALSE)
{
$html .= "<li><a href='{$item['url']}' ><span><B>{$item['text']}</B></span> </a></li>";
}
else
{
$html .= "<li class='active'><a href='{$item['url']}' ><span><B>{$item['text']}</B></span> </a></li>";
}
}