这是一个普遍的问题,并没有真正优雅的"一刀切"解决方案.这主要取决于您存储列表的方式.
基本答案:
"<li>$item</li>"class="current")困难的部分是弄清楚哪个页面是当前页面.
解决这个问题的三种方法:
http://blah/my-page)的一部分,并将其与导航列表中的某些数据进行比较.我已经做了三个.
如果有比这更好的解决方案,我想知道,因为这个问题总是让我烦恼.
选项二是最简单的,所以这是一个简单的实现.
$nav = array(
'/' => 'Home',
'/portfolio/' => 'Portfolio',
'/contact/' => 'Contact',
);
function nav($current)
{
GLOBAL $nav;
$output = '';
foreach($nav as $key => $var)
{
# First bit of common HTML
$output .= '<li><a';
if ($current == $var)
{
# add "current" class only for the to-be highlighted one
$output .=' class="current"';
}
# finish off common HTML
$output .= ' href="'.$key.'">'.$var.'</a></li>'."\n";
}
return $output;
}
echo nav('Home');
Run Code Online (Sandbox Code Playgroud)
显然你需要提供一个CSS规则来改变格式li.current,但这很容易.
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |