网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

织梦dedecms三级栏目、二级栏目和顶级栏目同时高亮显示

之前我们经常会碰到使用 【channelartlist标签支持currentstyle高亮属性】,是针对二级栏目有效,当我们碰到三级栏目时候是失效的,今天秀站网技术就碰到这样的问题,经过调试后,终于研究出来了。
实现效果如本站导航,如图:
织梦dedecms三级栏目、二级栏目和顶级栏目同时高亮显示
 
修改文件.include aglibchannelartlist.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='1' 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。
(责任编辑:admin)

    468x60