闲来无事,记记笔记
二级导航的实现,就是一个二级联动,嗯
先来看看数据库,我喜欢用一个表,表多了就不好玩了
二级代号取一级导航的代号就行了,做个简单的栗子;
代码部分:
看控制器,大头在这:
<?php namespace Otcms\controller; use Think\controller; use Otcms\controller\WxhController; use Think\index; class WxhController extends Controller { public function index() { $cha = M('article'); $chaa = $cha->where("a_keyword = 274")->select(); foreach($chaa as &$v) { $aid = $v['a_id']; $aa = $cha->where("laiyuan = $aid")->select(); //判断是否有二级菜单 if(empty($aa)) { $v['shao']=""; } else{ $v['shao']= $aa; } //dump($aa); } $this->assign('chaa',$chaa); $this->display('Wxh:public/25-1index'); } }
登录后复制
嗯 第一个sql是一级导航的 第二个就是查的二级导航,
看前端代码:
<nav class="nav"> <ul class="ul1"> <foreach name="chaa" item="ab"> <li class="li1"> <a href="about.html">{$ab.a_title}</a> <if condition=" $ab['shao'] neq '' "> <ul> <foreach name="ab[ 'shao'] " item="v "> <li> <a href="about.html ">{$v.a_title}</a> </li> </foreach> </ul> <else /> </if> </li> </foreach> </ul> </nav>
登录后复制
这里的 <if condition=" $ab['shao'] neq '' ">是判断是否为空
高亮显示:
var pathArray = location.pathname;$aa=$("a[href='"+pathArray+"']").$dd.addClass("current");
登录后复制
这两句代码可以搞定大多数导航高亮,
遇到特殊的需要使用:可以取到他的父级:用parents
<script type="text/javascript">var pathArray = location.pathname; $("a[href='"+pathArray+"']").parents('li').addClass("current"); </script>
登录后复制
以上就是ThinkPhp3.2中关于二级导航和高亮显示的代码案例的详细内容,更多请关注Work网其它相关文章!