关于后台使用「模板继承」,将前台页面导航栏部分整理成一个head文件之后,导航高亮怎么做

1.首页.html导航部分:

<ul class="dh">
    <li class="act"><a href="">首页</a></li>
    <li><a href"">列表</a></li>
    <li><a href"">个人</a></li>
    <li><a href"">设置</a></li>
</ul>

2.列表页.html导航部分
<ul class="dh">

    <li><a href="">首页</a></li>
    <li class="act"><a href"">列表</a></li>
    <li><a href"">个人</a></li>
    <li><a href"">设置</a></li>
</ul>

……

这样把几个页面发给后台之后,后台使用模板继承,将导航文件整理成一个head.html文件,然后再每个页面的导航部分引入这个文件。
这样一来每个页面的导航部分代码都变成一样的。
我暂时使用了 进入每个页面onload时,获取页面的url,根据url不同判断是哪个页面然后给高亮类。
但是 觉得页面多了会很麻烦
求问有更好更正确的方法吗?

阅读 2.3k
3 个回答

菜单是有层级关系的,所以不管当前访问的是哪个页面,都可以获取到顶级菜单(二级,三级等等都可以)。
以顶级菜单为例:
循环所有顶级菜单,循环到当前访问页面的顶级菜单id时加个选中的class即可

既然是后台使用了模板,就让后台在模板中根据路由判定是否添加act这个class

$url= $_SERVER['HTTP_HOST'];//获取当前的url
<ul class="dh" class="<?php if($url=='index'){echo 'gaoliang'}elseif($url=='use'){echo 'gaoliang'}else{}?>">//在class中用php代码根据获取的路径进行高亮是否显示

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题