广告位招租 qq245909083

dedecms 使channelartlist支持当前栏目高亮

分享时间:2017-12-23 938 热度℃
当使用dedecms同时调用顶级和二级栏目时,是使用{dede:channelartlist}和{dede:channel}来调用,但此时currentstyle属性将不起作用,下面就贴下解决办法。
找到“/include/taglib/channellartlist.php”这个文件的如下代码:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
复制代码
在其下增加:
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){    $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : ' class="current"';}    else{    $pv->Fields['currentstyle'] = '';}
复制代码
模板中调用例子:
{dede:channelartlist typeid='top'}<li{dede:field.currentstyle/}><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>{/dede:channelartlist}
复制代码
需要注意的是,<li{dede:field.currentstyle/}>这段代码中,不加class="{dede:field.currentstyle/}",因为已经做过判断了,如果是当然栏目,会自动输出“ class='current’”。
返回顶部