帝国cms同时调用一级、二级栏目并当前栏目高亮显示的方法

今天用帝国cms出现了需要同时调用1,2级栏目并给当前栏目高亮显示的需求,经过一番搜索,用以下代码即可实现(包含首页高亮)  而且可以无限嵌套

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<nav>

                <ul id="show">

                    <li<?=$GLOBALS[navclassid]==0?" class='on'":""?>><a href="[!--news.url--]">Home</a></li>

                    [e:loop={"select classid,classname,islast from {$dbtbpre}enewsclass where bclassid='0' and showclass=0 order by myorder,classid ASC limit 11",0,24,0}]

<?php   

$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址   

$class="";  

if($GLOBALS[navclassid])  

{      

$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);      

$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID      

if($bqr[classid]==$topbclassid)      

{           

$class=" class='on'";      

}   

}   

?><li<?=$class?>><a href="<?=$classurl?>"><span><?=$bqr[classname]?></span></a><?php

if(!$bqr[islast]) //判断是否终极栏目

{

?><div class="menu">

    <?php

    //取得栏目下的子栏目      

    $newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid desc limit 11");

    while($classr=$empire->fetch($newsclass))

    {

        $classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址

        ?><div class="item"><a href="<?=$classrurl?>"><?=$classr[classname]?></a></div>

    <?php

    }

    ?></div><?php

}

?></li>

[/e:loop]

                </ul>

        </nav>

另一种写法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

            <nav>

                <ul id="show">

                    <ul class="w-f">

                    <li<?=$GLOBALS[navclassid]==0?" class='on'":""?>>

                        <a href="#">首页</a>

                    </li>

                    [e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=0 and classid<>17 order by myorder,classid asc",0,24,0}]

                    <?php  

$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址  

$class="";  

if($GLOBALS[navclassid])  

{  

$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);  

$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID  

if($bqr[classid]==$topbclassid)  

{  

$class=" class='on'";   

}  

}  

?>

                        <li<?=$class?>>

                            <a href="<?=$classurl?>" class="tit link"><?=$bqr[classname]?></a>

                            <div class="menu">

                                <?php  

$ecms_bq_sql2=sys_ReturnEcmsLoopBq("select classid,classname,classpath,classurl from [!db.pre!]enewsclass where bclassid='$bqr[classid]' order by myorder limit 10",20,24,0);  

$bqno2=0;  

while($bqr2=$empire->fetch($ecms_bq_sql2))  

{  

$bqsr2=sys_ReturnEcmsLoopStext($bqr2);  

$bqno2++;  

?>

                                    <a href="/<?=$bqr2[classpath]?>/"><?=$bqr2[classname]?></a>

                                    <?php  

}  

?>

                            </div>

                        </li>

                        [/e:loop]

                </ul>

            </nav>

html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<nav>    

                <ul id="show">    

                    <li class="on"><a href="index.html" title="">Home</a></li>    

                    <li><a href="about.html" title="">About us</a></li>    

                    <li><a href="products.html" title="">Products</a>    

                        <div class="menu">    

                            <a href="">bearing</a>    

                            <a href="">tools</a>               

                        </div>                

                    </li>    

                    <li><a href="news.html" title="">News</a></li>    

                    <li><a href="faq.html" title="">FAQ</a></li>    

                    <li><a href="application.html" title="">Application</a></li>    

                    <li><a href="service.html" title="">Service</a></li>    

                    <li><a href="contact.html" title="">Contact</a></li>    

                </ul>    

            </nav>

拓展

如果是当前栏目是on 是首页class是menuo

1

2

3

4

5

6

7

8

9

if($bqr[classid]==$topbclassid)      

{           

$class="on";      

}   

}   

elseif($public_r[home]==1)   

{      

$class="menuo";  

}

23.02.20拓展,以上只支持一级栏目高亮,二级栏目高亮用这个

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<ul class="accordion">

[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=2 and classid<>17 order by myorder,classid asc",0,24,0}]

<?php

$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址

$class="";

if($bqr[classid]==$GLOBALS[navclassid])//当前栏目ID

{

$class=" class='on'";

}

?>

                        <li<?=$class?>>

                            <div class="links"><a href="<?=$classurl?>"><?=$bqr[classname]?></a></div>

                            <ul class="submenu" style="display: block;">

                                <?php

$ecms_bq_sql2=sys_ReturnEcmsLoopBq("select classid,classname,classpath,classurl from [!db.pre!]enewsclass where bclassid='$bqr[classid]' order by myorder limit 10",20,24,0);

$bqno2=0;

while($bqr2=$empire->fetch($ecms_bq_sql2))

{

$bqsr2=sys_ReturnEcmsLoopStext($bqr2);

$bqno2++;

?>

                                    <li<?=$class2?>><a href="/<?=$bqr2[classpath]?>/"><?=$bqr2[classname]?></a></li>

                                    <?php

}

?>

                            </ul>

                        </li>

                        [/e:loop]</ul>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执刀人的工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值