Skip to main content
 Web开发网 » 站长学院 » 织梦教程

dede实现嵌套li加currentstyle的二级菜单

2020年09月12日7390百度已收录

文章介绍

 

dede实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 include aglibchannel.lib.php 

line100

//检查是否有子栏目,并返回rel提示(用于二级菜单)

 

及 line130

 

$row['rel'] = " rel='dropmenu{$row['id']}'";

 

可见,如果需要二级菜单加当前样式,那么头部

 

<ul>  

        <li><a href='{dede:global.cfg_cmsurl/}/'>  

            <span class="cn">首页</span>  

            <span class="en">Home</span>  

        </a></li>  

        {dede:channel type='top' row='10' currentstyle='<li class="current"><a href="~typelink~" ~rel~>#<span class="cn">~typename~</span><span class="en">~dirName~</span></a></li>'  

        }  

        <li>  

            <a href='[field:typeurl/]' [field:rel/]>  

                <span class="cn">[field:typename/]</span>  

                <span class="en">[field:typedir runphp='yes' commet="获得最后目录名,英文"]  

                    $l=split("/", @me);  

                    @me=array_pop($l);  

                [/field:typedir]</span>  

            </a>  

        </li>  

        {/dede:channel}  

    </ul>  

 

rel的属性是必须的

 

 

而且在底部

 

{dede:channelartlist typeid='top'}  

    <ul id="dropmenu{dede:field.typeid/}">  

    {dede:channel type='son' noself='yes'}  

        <li><a href="[field:typelink/]">[field:typename/]</a></li>  

    {/dede:channel}  

    </ul>  

{/dede:channelartlist}  

 

dropmenu的关键字也是必须的。

 

 

剩下的就是css和js的工作了。


 

评论列表暂无评论
发表评论
微信