让DedeCMS的channelartlist标签当前栏目高亮

DedeCMS中唯一可以嵌套使用的模板标签是channeartlist,默认是不支持类似channel标签的currentstyle高亮当前栏目的。可通过如下方法修改实现这一功能:

打开\include\taglib\channelartlist.lib.php

找到

$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);

在此行代码下方增加以下代码:

// 让channelartlist支持栏目高亮 Added By Xiaozj 2011/1/19 
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){ 
$pv->Fields['currentstyle'] = ' class="c"'; 
} 
else{ 
$pv->Fields['currentstyle'] = ''; 
}

然后在模板文件中调用{dede:field name='currentstyle'/}即可,此字段输出的内容就是上面$pv->Fields['currentstyle'] = ' class="c"';中的 class="c"。