欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-16 14:18:15
...
闲来无事,记记笔记

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

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

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

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

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

代码部分:

看控制器,大头在这:

<?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中关于二级导航和高亮显示的代码案例的详细内容,更多请关注其它相关文章!