我正在为php中的网站编写菜单栏。因为我不想在六打左右的页面上多次编辑它,所以我已经决定把它放在它自己独立的{{1}中在各个页面中只有header.php
文件。
我的问题是菜单会略有不同,具体取决于它包含在哪个页面中。现在我通过在include_once(header.php)
文件中添加以下内容来处理它。 header.php
在各个页面中定义:
$PageTitle
if ($PageTitle == "Home"){
echo '<li class="active"><a href="#">Home</a></li>';
}
else{
echo '<li><a href="#">Home</a></li>';
}
if ($PageTitle == "About"){
echo '<li class="active"><a href="about.php">About</a></li>';
}
else{
echo '<li><a href="about.php">About</a></li>';
}
...
类只是突出显示当前页面的菜单(就像StackOverflow顶部的菜单栏一样)。它工作正常,但我很好奇,如果有更好的或更有效的方法来做到这一点。谢谢你们。
答案 0 :(得分:0)
试试这个:
//list of menu headers
$headers = new array();
//populate the array with your headers here ...
foreach($headers as $val)
{
if( $PageTitle == $val )
echo '<li class="active"><a href="#">'.$val.'</a></li>';
else
echo '<li><a href="#">'.$val.'</a></li>';
}
答案 1 :(得分:0)
对于当前课程,如果你想要,你也可以使用jquery:
$(function(){
var path = location.href;
if ( path )
$('.side_menu a[href="' + path + '"]').attr('class', 'current');
});