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

让织梦dedearclist支持notypeid属性的方法

2022-10-29 16:42编辑: www.jxszl.com景先生毕设
织梦默认的arclist标签支持typeid的调用,也就是给文章列表指定来源栏目,有时候栏目过多,I.个I.个写就很复杂,所以用排除的方法写更方便,以此引入notypeid属性.

主要修改文件是/include/taglib/下的arclist.lib.php文件,首先搜索:

 更多精彩就在: 51免费论文网|www.jxszl.com 
/>
returnlib_arclistDone

在函数末尾加上:,$ctag->GetAtt(notypeid),原来的代码变成如下的样子:
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)
);

然后再搜索functionlib_arclistDone,同样在这个函数的后面加上I.句代码:,$notypeid=0,修改后的函数变成下面的样子:
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)
***后,搜索以下代码:$orwheres[]=arc.arcrank>-I.;,在这个代码的前面加入如下代码:
if(!empty($notypeid))
{
$orwheres[]="andarc.typeidNOTIN(".GetSonIds($notypeid).")";
}

上传覆盖之后即可使用arclist的notypeid属性,使用方法如下:
{dede:arclistrow=VIorderby=pubdatenotypeid=VII,VIII,IX}

让织梦dede:arclist支持notypeid属性的方法
意思是按更新时间,调用除了栏目id是VII,VIII,IX的其余栏目中的VI条数据.

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