找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1379|回复: 0

[分享] dede实现嵌套li加currentstyle的二级菜单

[复制链接]
发表于 2018-7-28 08:13:09 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
dede实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 \include\taglib\channel.lib.php
line100
//检查是否有子栏目,并返回rel提示(用于二级菜单)

及 line130

  1. $row['rel'] = " rel='dropmenu{$row['id']}'";
复制代码


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

  1. <ul>  
  2.         <li><a href='{dede:global.cfg_cmsurl/}/'>  
  3.             <span class="cn">首页</span>  
  4.             <span class="en">Home</span>  
  5.         </a></li>  
  6.         {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>'  
  7.         }  
  8.         <li>  
  9.             <a href='[field:typeurl/]' [field:rel/]>  
  10.                 <span class="cn">[field:typename/]</span>  
  11.                 <span class="en">[field:typedir runphp='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的属性是必须的

而且在底部

  1. {dede:channelartlist typeid='top'}  
  2.     <ul id="dropmenu{dede:field.typeid/}">  
  3.     {dede:channel type='son' noself='yes'}  
  4.         <li><a href="[field:typelink/]">[field:typename/]</a></li>  
  5.     {/dede:channel}  
  6.     </ul>  
  7. {/dede:channelartlist}  
复制代码



dropmenu的关键字也是必须的。

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

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-31 12:47 , Processed in 0.038310 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表