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

及 line130

$row[‘rel’]=”rel=’dropmenu{$row[‘id’]}'”;

可见,如U 3 b * V h n果需要二级菜单加当前样式,那么头部

<ul>
<li>5 { q;<a href='http://www.dede58.com/a/dedejq/{dede:global.cfg_c3 n Q 5 0msurl/}/'>
<span class="cn">首页</span>
<s` 1 d i |pan class="en">Home</span>
</a></li f x J Bi>
{dede:channel type='top' r5 } A \ ; m C Sow='10' currentstyle='<li class="current"><a href="http://www.dede58.com/a/dedejq/~typelink~" ~rel~>#<span clq s p v +ass="cn">~typename~</span><span class="en"K W R>~dirName~</span></a></li>'
}7 K C ( D
<li>
<a href='http://www.dede58.com/a/dedejq/[field:typeurl/]' [field:rel/]>
<l i espan class="cnB { } w : ? ` %">[field:typename/]</span>
<o V d R B }span class="en">[field:typedir runphp='yes' commet="获得最后目录名,英文"]
$l=split("/", @mex S + E | - h ));
@me=array_pop($l);
[/field:typedir]</span>
</a>
</li>
{/dede:channel}
</ul>



rel的3 P r属性是必须的

而且在底部

{dede:chB E ? uannelartlist typeid='top'}
<N = ,;ul id="dropmenu{dede:field.typeid/}">
{dede:channel type='son' noself='yes'}
<li><a href="http://www.dede58.coi } J c D p *m/a/dedejq/[field:typelink/]">[field:typename/]</a></li>
{/dede:g # J z V K ochanne[ = J B $ 0 v Cl}
</ul>
{/dede:channP y - q felartlist}  


dro@ u _ = f A n : 2pmenu的关p F l键字也是必须的。

剩下的就是j / _ `cs^ 2 v h H * T Gs和js的工作了。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处z ! _所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注