西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

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

时间:2016-11-11 09:04来源:未知 作者:好模板编辑 点击:
织梦dedecms实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见\include\taglib\channel.lib.php line100 //检查是
织梦dedecms实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 \include\taglib\channel.lib.php 
line100
//检查是否有子栏目,并返回rel提示(用于二级菜单)

及 line130

$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的属性是必须的

 

而且在底部
 

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


(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------