主页 > 网站建设 > 建站知识 > dede实现嵌套li加currentstyle的二级菜单

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

POST TIME:2017-11-13 00:04

dede实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见\include\taglib\channel.lib.php
line100
//检查是否有子栏目,并返回rel提示(用于二级菜单)

及 line130

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

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

  1. <ul>
  2. <li><ahref='{dede:global.cfg_cmsurl/}/'>
  3. <spanclass="cn">首页</span>
  4. <spanclass="en">Home</span>
  5. </a></li>
  6. {dede:channeltype='top'row='10'currentstyle='<liclass="current"><ahref="~typelink~"~rel~>#<spanclass="cn">~typename~</span><spanclass="en">~dirName~</span></a></li>'
  7. }
  8. <li>
  9. <ahref='[field:typeurl/]'[field:rel/]>
  10. <spanclass="cn">[field:typename/]</span>
  11. <spanclass="en">[field:typedirrunphp='yes'commet="获得最后目录名,英文"]
  12. $l=split("/",@me);
  13. @me=array_pop($l);
  14. [/field:typedir]</span>
  15. </a>
  16. </li>
  17. {/dede:channel}
  18. </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的工作了。



上一篇:不修改数据库dedecms怎么实现中英栏目名

下一篇:Dedecms教程:输出织梦全站RSS文件的方法

收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266