织梦dedecms三级导航栏目高亮dede:channelartlist支持currentsty
之前我们经常会碰到使用 【channelartlist标签支持currentstyle高亮属性】,是针对二级栏目有效,当我们碰到三级栏目时候是失效的,今天做啦技术就碰到这样的问题,经过调试后,终于研究出来了。
实现效果如图:
1:修改文件.include\taglib\channelartlist.lib.php
找到:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]); |
下面增加下面这句:
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] //如果循环到的id为正在打开的栏目的祖父(最顶级)栏目,则循环到的祖父id也要高亮 ||$typeids[$i]['id']==$refObj->TypeLink->TypeInfos['reid'] //根据现在访问的栏目id的父栏目,即 $refObj->TypeLink->TypeInfos['reid'] ,如果reid等于本次循环得到的id ,则本次循环得到的栏目高亮 ){ $pv->Fields['active'] = $active ? $active : 'active'; }else{ $pv->Fields['active'] = ''; } |
模板上如何使用:
{dede:channelartlist typeid='32' row='12' currentstyle='active'} <li class="{dede:field.active/}"><a href='{dede:field name="typeurl"/}'>{dede:field name="typename"/}</a> </li> {dede:channel type='sun' row='50'} <a href="[field:typelink/]">[field:typename/]</a> {/dede:channel} {/dede:channelartlist} |
以上就介绍了织梦dedecms三级导航栏目高亮dede:channelartlist支持currentstyle。