注册 登录 欢迎您到模板精:织梦模板_dede模板_免费网站模板_网站源码下载

织梦教程_免费织梦模板下载_dede模板

该栏目分享织梦建站的基础知识,从织梦CMS的安装,到织梦标签的常规调用,以及织梦的常见问题答疑都有涉及。

当前位置:首页 > 织梦教程 >

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

免费网站模板 2020-09-16 09:47 织梦教程 评论
织梦dedecms实现嵌套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的工作了。