目前
织梦模板里currentstyle只支持dede:channel,这种只能调取一层栏目,而我们建站时,在导航栏里经常要调用到一级和二级栏目,然后让当前栏目高亮,使用特殊样式,要用到dede:channelartlist,现在的织梦currentstyle在dede:channelartlist里中无法使用的,需要我们自己添加一些代码才行。
1、找到“/include/taglib/channelartlist.lib.php”这个文件;
2、找到这行代码
-
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
3、在这行代码后复制加入以下代码:
-
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){ $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : ' class="on"';} else{ $pv->Fields['currentstyle'] = '';}
4、调用方法:
-
{dede:channelartlist typeid='top'}<li{dede:field.currentstyle/}><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>{/dede:channelartlist}
这样就可以在调取所有栏目的dede:channelartlist标签里使用currentstyle了。
其中:3、里面的 class="on" 就是在当前栏目里加的样式,可以把on修改为自己想要的。