小灰博客--小灰IT技术博客 | sky00.com

如何给用currentstyle给dedecms导航首页添加光标

最近用dedecms仿站,目标站的导航是有光标的,就是点哪一页光标自动落在哪个导航上,在dedecms里用currentstyle可以实现。代码是这样的

1
2
3
{dede:channel type='top' row='10' currentstyle="<li class='hover'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
        <li><a href='[field:typeurl/]' [field:rel/]><span>[field:typename/]</span></a></li>
        {/dede:channel}

当然那个class=’hover’你可以写到任意你想写的地方,那么蛋疼的问题来了,这里只判断了列表页和内容页,那么当你点击首页的时候是没有光标的,官方给出的也是没首页光标的。下面的代码可以帮助你解决这个问题

1
2
3
4
5
6
7
<li{dede:field name=typeid runphp="yes"}
(@me=="")? @me=" class='hover'":@me="";{/dede:field}>
<a href='{dede:global.cfg_cmsurl/}/'><span>主页</span></a></li>
{dede:channel type='top' row='10' currentstyle="<li class='hover'>
<a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li><a href='[field:typeurl/]' [field:rel/]><span>[field:typename/]</span></a></li>
{/dede:channel}

这段代码判断的是当前页是否是首页,如果是就加上class=’hover’ ,也有的目标站class不是写在li标签里面的,比如我。我的整个导航是这样写的。

1
2
3
4
5
6
7
{dede:field name=typeid runphp="yes"}
(@me=="")? @me=" <li><a style='color:#2b72aa; border-bottom:3px solid #2b72aa;' >主页</a></li>":@me="<li><a href='/'>主页</a></li>";{/dede:field}

            {dede:channel type='top' row='10' currentstyle="<li><a href='~typelink~' style='color:#2b72aa; border-bottom:3px solid #2b72aa;' ~rel~>~typename~</a></li>"}
                <li><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a></li>
             
                    {/dede:channel}

我的这个class就是在写a标签里的,至于判断哪里用了php语言的?:(三目运算符),就是判断是否是首页,如果是首页输出我想要加光标的代码,当然这里要把超链接去掉,否则就输出没光标的代码,自己的想法,记载下来,希望对大家有用。下面是最终效果图
0161025001853


如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:

4条评论

  1. 压力机说道:

    帮我解决了问题,感谢楼主!



发表评论

邮箱地址不会被公开。 必填项已用*标注