"景先生毕设|www.jxszl.com

dedechannelartlist currentstyle高亮显示

2022-10-29 16:05编辑: www.jxszl.com景先生毕设
我们在用DEDECMS建站时,常常会做II级栏目的功能,既要用到II级栏目,也就要通过DEDE标签再套标签的方式来实现调用,而DEDECMS多层标签调用只支持channelartlist,也就是说我们只能通过dede:channelartlist标签才能调出II级栏目,我们用dede:channel

 更多精彩就在: 51免费论文网|www.jxszl.com 
artlist能顺利的将信息调出来,但是如果我们要设置当前所在栏目高亮显示的功能时,currentstyle属性将不起作用,下面我们就来解决channelartlistcurrentstyle高亮显示的问题.

I..找到/include/taglib/channelartlist.php"这个文件;

II.找到这行代码:

$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]=;
}

IV.调用方法:

{dede:channelartlisttypeid=top}

{dede:fieldname=typename/}

{/dede:channelartlist}

决dede:channelartlist标签无法使用currentstyle的问题.

另外需要注意的是这段代码中,请不要自作聪明的加上class="{dede:field.currentstyle/}",因为最先加的I.段代码中就判断了,如果是当然栏目,系统就会自动输出class=current",照本文原样复制,即可解决这个问题.


原文链接:http://www.jxszl.com/biancheng/dedecms/73006.html