织梦artlist标签增加notypeid属性過滤掉某些栏目
更多精彩就在: 51免费论文网|www.jxszl.com
把想显示文章的栏目ID全部设置上,但这样做栏目ID太多了,以后维护起来也麻烦,于是我想既然arclist支持flag和noflag,那么应该也要支持typeid和notypeid吧?经过I.番测试,再跟踪了I.下源码,发现织梦并不支持notypeid,那怎么办?
打开/include/taglib/arclist.lib.php文件,找这段代码(大概在I.III0行):
returnlib_arclistDone
(
$refObj,$ctag,$typeid,$ctag->GetAtt(row),$ctag->GetAtt(col),$titlelen,$infolen,
$ctag->GetAtt(imgwidth),$ctag->GetAtt(imgheight),$listtype,$orderby,
$ctag->GetAtt(keyword),$innertext,$envs[aid],$ctag->GetAtt(idlist),$channelid,
$ctag->GetAtt(limit),$flag,$ctag->GetAtt(orderway),$ctag->GetAtt(subday),
$ctag->GetAtt(noflag),
$tagid,$pagesize,$isweight
);
在最后括号最后加上(注意前面的逗号):
,$ctag->GetAtt(notypeid)
然后再找到这I.段代码(大概在I.VIVIII行):
functionlib_arclistDone(&$refObj,&$ctag,$typeid=0,$row=I.0,$col=I.,$titlelen=III0,$infolen=I.VI0,
$imgwidth=I.II0,$imgheight=IX0,$listtype=all,$orderby=default,$keyword=,
$innertext=,$arcid=0,$idlist=,$channelid=0,$limit=,$att=,$order=desc,$subday=0,
$noflag=,$tagid=,$pagesize=0,$isweight=N)
在括号的最后加上(注意前面的逗号):
,$notypeid=0
最后再找到这I.句:
$orwheres[]=arc.arcrank>-I.;
在其前面增加以下代码:
if(!empty($notypeid))
{
$orwheres[]="andarc.typeidNOTIN(".GetSonIds($notypeid).")";
}
这样,代码就修改完毕了.保存之后就在arclist标签里试试看notypeid属性吧.对于网站栏目多,内容显示时又错综复杂的情况,这样的属性还是蛮实用的.
调用方法:
{dede:arclistrow=VIorderby=pubdatetype=image.imgwidth=I.0VIIIimgheight=I.V0channelid=I.notypeid=IX}
原文链接:http://www.jxszl.com/biancheng/dedecms/74815.html