dede5.7 二级菜单

dede实现嵌套li加currentstyle的二级菜单非常麻烦,所以官方之前的版本也使用了js来实现,而且为此还hardcode了一下编码到标签库里面,具体见 \include\taglib\channel.lib.php 

line100

//检查是否有子栏目,并返回rel提示(用于二级菜单)

及 line130

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

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

<ul>
		<li><a href='{dede:global.cfg_cmsurl/}/'>
			<span class="cn">首页</span>
			<span class="en">Home</span>
		</a></li>
		{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>'
		}
		<li>
			<a href='[field:typeurl/]' [field:rel/]>
				<span class="cn">[field:typename/]</span>
				<span class="en">[field:typedir runphp='yes' commet="获得最后目录名,英文"]
					$l=split("/", @me);
					@me=array_pop($l);
				[/field:typedir]</span>
			</a>
		</li>
		{/dede:channel}
	</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的工作了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值