如何在PHP中制作类别和当前页面突出显示?

时间:2010-06-14 11:55:54

标签: php categories

我试图找到一些关于使用PHP制作CMS类型类别的示例代码或最佳实践。

这个问题肯定已经解决了数十万次,但由于某种原因,我无法找到任何使用PHP的示例代码来实现这一点。

据我所知,问题分为两部分。第一个必须与造型方面有关:

  • 输出导航中的链接,以便当前页面具有特殊样式(class =“active”)和
  • 不打印当前页面的链接。

第二部分是处理类别下的类别,子类别和动态页面。

第二部分看起来很简单。我正在考虑制作它,以便导航中的类别名称是categories.php?id = x的链接,在此页面上我只打印出具有该类别ID的页面。然后,如果用户点击页面,他将被带到pages.php?id = y。

但是,我不太确定如何进行导航以检查我们当前是否在当前页面上。我应该只使用一些开关或什么?

非常感谢任何关于一些优秀示例代码的想法或链接。

2 个答案:

答案 0 :(得分:1)

不需要PHP,使用CSS

a:active { color:#09f; }

<强>更新 使用这个小jquery代码

$("*").find("a[href='"+window.location.href+"']").each(function(){
   $(this).addClass("current");
   $(this).attr('href',"#"); //nullifying the link
   //add your own logic here if needed
})

答案 1 :(得分:0)

如果你正在加载CMS风格的页面,大概你有一些可以在代码中访问的页面标识符? current_page_id或类似的东西?从那里我通常只是这样做:

<ul id="menu"><?
foreach ($menu_items as $menu_item) {
    ?><li <?=($menu_item['page_id'] == $current_page_id) ? 'class="active"' : ''?>><a href="<?=$menu_item['link']?>"><?=$menu_item['title']?></a></li><?
}
?></ul>