织梦CMS让channelartlist标签支持currentstyle属性的方法

admin 技术杂谈评论22阅读模式

currentstyle属性在DedeCMS调用标签里主要用于实现栏目页的高亮设置,也就是支持dede:channel标签,而很多时候,我们在调用栏目的时候,会用到dede:channelartlist来调用顶级栏目,这样currentstyle属性就不支持了,需要我们做二次发开。

 

今天就教大家如何实现channelartlist标签支持currentstyle属性。

打开 include aglib\channelartlist.lib.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 : 'current';
}
else{
$pv->Fields['currentstyle']='';
}

 

网上找到的一般没有加 $typeids[$i][‘id’]==$refObj->TypeLink->TypeInfos[‘topid’]

添加这个后才能对二级栏目也起作用,调用方法:

{dede:channelartlist typeid='2' currentstyle='current'}
<li class='{dede:field.currentstyle/}'><a href=http://www.dede58.com/a/dedejq/'{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></li>
{/dede:channelartlist}

 

如果是当前栏目则 li的class属性显示current,否则显示class=” ,也可以修改currentstyle=’这里改为你需要的类名。

 

 
admin
  • 本文由 admin 发表于 2024年 3月 14日 21:30:58
  • 转载请务必保留本文链接:https://blog.chunchunhd.com/2395.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证