TP3.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>

 

第二种:

控制器里获取地址:

$action = CONTROLLER_NAME."/".ACTION_NAME;

$this->assign('action',$action);

获取到  然后前端:

      <if condition=" $cdsy[0]['miaoshu'] eq  $action">

看看是不是跟我存的地址是一样的!

ok  学习笔记@@@

 

posted @ 2017-08-12 10:30  长腿野生璇  阅读(437)  评论(0编辑  收藏  举报