dedecms织梦网站源码 实现嵌套li加currentstyle的二级菜单
发布时间:08/26 来源:未知 浏览:
关键词:
dede实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 \include\taglib\channel.lib.php
line100
//检查是否有子栏目,并返回rel提示(用于二级菜单)
及 line130
$row['rel'] = " rel='dropmenu{$row['id']}'";
可见,如果需要二级菜单加当前样式,那么头部
-
01
<ul>
02
<li><a href=
'{dede:global.cfg_cmsurl/}/'
>
03
<span class=
"cn"
>首页</span>
04
<span class=
"en"
>Home</span>
05
</a></li>
06
{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>'
07
}
08
<li>
09
<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的关键字也是必须的。
dropmenu的关键字也是必须的。
剩下的就是css和js的工作了。