插件窝 干货文章 关于thinkphp导航高亮显示当前页面

关于thinkphp导航高亮显示当前页面

class gt amp lt 399    来源:    2024-10-27

下面由thinkphp框架教程栏目给大家介绍thinkphp导航高亮显示当前页面的方法,希望对需要的朋友有所帮助!

适用于tp5,可以解决二级菜单导航高亮问题,就是在模板中分别获取当前的控制器名和方法名,看与点击的那个导航栏是否对应即可,例子如下:

<li class="{eq name=&#39;:request()->controller()&#39; value=&#39;userinfo&#39;}active{/eq}">
      <a href="index.html#"><i class="icon-group"></i> <span class="nav-label">用户管理</span><span class="fa arrow"></span></a>
      <ul class="nav nav-second-level">
         <li class="{eq name=&#39;:request()->action()&#39; value=&#39;ueraddcheck&#39;}active{/eq}"><a href="{:url(&#39;Userinfo/uerAddCheck&#39;)}">新增用户审核</a></li>
         <li class="{eq name=&#39;:request()->action()&#39; value=&#39;edituser&#39;}active{/eq}"><a href="{:url(&#39;Userinfo/editUser&#39;)}">编辑用户</a></li>
      </ul>
 </li>

其中第一级菜单中{eq name=':request()->controller()' value='userinfo'}是判断哪个控制器传过来的,若与之对应则显示class为active的,二级菜单{eq name=':request()->action()' value='ueraddcheck'}判断从哪个方法传来的,若与之对应则显示active的class。

对于tp3原理是一样的,只是获取当前控制器名称和方法名称用法不一样。,例子如下:

<li class="menu-list <if condition=&#39;$Think.const.CONTROLLER_NAME eq Help&#39;>active</if>"><a href="#"><i class="fa fa-tasks"></i> <span>帮助管理</span></a>
    <ul class="sub-menu-list">
       <li class="<if condition=&#39;$Think.const.ACTION_NAME eq whoClaim&#39;>active</if>"><a href="{:U(&#39;Help/whoClaim&#39;,&#39;&#39;,&#39;&#39;)}">谁认领了我</a></li>
    </ul>
</li>