首页 > 教程 >

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

2023-02-25教程围观

简介织梦dedecms实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见includetaglibchannel.lib.phpline100//检查是否有子栏目,并返回rel提示(用于二级菜单)及line130$row['rel']="rel='dropmenu{$row['id']}'";可见,如

   织梦dedecms实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 includetaglibchannel.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="~type ~" ~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:type /]">[field:typename/]</a></li>      {/dede:channel}      </ul>  {/dede:channelartlist}  

dropmenu的关键字也是必须的。

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


下载链接:网站源码/小程序源码/网站模板下载

Tags: 织梦 实现 二级 菜单 嵌套