muban大师 发表于 2020-8-26 09:32:32

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

dede实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 \include\taglib\channel.lib.php
        line100
        //检查是否有子栏目,并返回rel提示(用于二级菜单)
       
        及 line130
       
        $row['rel', = " rel='dropmenu{$row['id',}'";
       
        可见,如果需要二级菜单加当前样式,那么头部
       
       
       
                [*,
                    首页
                    Home
                
                {dede:channel type='top' row='10' currentstyle=''
                }
                [*,
                    ,
                      
                      [field:typedir runphp='yes' commet="获得最后目录名,英文",
                            $l=split("/", @me);
                            @me=array_pop($l);
                      [/field:typedir,
                   
                
                {/dede:channel}
          
       
        rel的属性是必须的
       
       
        而且在底部
       
        {dede:channelartlist typeid='top'}
          
          {dede:channel type='son' noself='yes'}
                [*,
          {/dede:channel}
          
        {/dede:channelartlist}
       
        dropmenu的关键字也是必须的。
       
        剩下的就是css和js的工作了。
页: [1]
查看完整版本: dede实现嵌套li加currentstyle的二级菜单