闲来无事,记记笔记

二级导航的实现,就是一个二级联动,嗯

先来看看数据库,我喜欢用一个表,表多了就不好玩了

ThinkPhp3.2中关于二级导航和高亮显示的代码案例-LMLPHP

ThinkPhp3.2中关于二级导航和高亮显示的代码案例-LMLPHP

二级代号取一级导航的代号就行了,做个简单的栗子;

代码部分:

看控制器,大头在这:

<?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网其它相关文章!

09-19 13:18