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

  • 1

文章介绍

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

line100

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

及 line130

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

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



  1. <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的工作了。

版权声明:本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

转载请注明:

上一篇:
下一篇:

标签:  
本站部分图文来源于网络,仅供学习交流,发表作品观点仅代表作者本人,本站仅提供信息存储空间服务,不承担连带责任。如有侵权,请联系管理员删除。
  • 添加微信
  • 微信扫一扫
  • weinxin
  • 公众号
  • 微信扫一扫
  • weinxin
竞价托管
张俊SEO
  • 本文由 发表于 2021年4月28日18:56:03
  • 转载请务必保留本文链接:https://zhangjunseo.com/7617.html
广告也精彩
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: