织梦dedecms使用channelartlist标签显示當前文章高亮
首先实现artlist当前文章高亮:
打开include aglibarclist.lib.php
在
更多精彩就在: 51免费论文网|www.jxszl.com
$channelid=$ctag->GetAtt(channelid);
下增加:
$currentstyle=$ctag->GetAtt(currentstyle);
在
$tagid,$pagesize,$isweight
后增加
,$currentstyle
在
$noflag=,$tagid=,$pagesize=0,$isweight=N
后增加
,$currentstyle=
在
$row[textlink]="
下增加
if($currentstyle&&$row[id]==$arcid){
$currentstyle=str_replace(~typelink~,$row[filename],$currentstyle);
$row[currentstyle]=str_replace(~typename~,$row[title],$currentstyle);
}
模板调用:
I.{dede:arclisttitlelen=IVIIrow=I.0currentstyle="
II[field:arrayrunphp=yes]
IIIif(@me[currentstyle]){
IV@me=@me[currentstyle];
V}else{
VI@me="
VII}
VIII[/field:array]
IX{/dede:arclist}
如果和channelartlist搭配使用,方法如下:
打开include aglibchannelartlist.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]=;
}
网上找到的I.般没有加$typeids[$i][id]==$refObj->TypeLink->TypeInfos[topid]
添加这个后才能对II级栏目也起作用
调用方法:
{dede:channelartlisttypeid=IIcurrentstyle=current}
{/dede:channelartlist}
如果是当前栏目则li的class属性显示current,否则显示class=,也可以修改currentstyle=这里改为你需要的类名.
这样调用:
0I.{dede:channelartlisttypeid=IIcurrentstyle=current}
0II
0III
0IV
0V{dede:arclisttitlelen=IVIIrow=I.0currentstyle="
0VI
0VII[field:arrayrunphp=yes]
0VIII
0IXif(@me[currentstyle]){
I.0
I.I.@me=@me[currentstyle];
I.II
I.III}else{
I.IV
I.V@me="
I.VI
I.VII}
I.VIII
I.IX[/field:array]
II0
III.{/dede:arclist}
IIII
IIIII{/dede:channelartlist}
原文链接:http://www.jxszl.com/biancheng/dedecms/75092.html
热门阅读