织梦默认的channelartlist标签的调用结果没有排除指定typeid的栏目的功能,但是如果需要,我们可以自己通过修改文件来添加这样的功能,具体修改方法如下:
找到并打开/include/taglib/channelartlist.lib.php文件,在里面找到$attlist,将
$attlist = 'typeid|0,row|20,cacheid|';
修改为:
$attlist = 'typeid|0,row|20,cacheid|,notypeid|0';
上面添加了一个所要排除typeid的参数——notypeid
然后在里面找到如下代码:
$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath from `dede_arctype` where $tpsql order by sortrank asc limit $totalnum");
在其前面添加(注意是在前面添加):
//排除指定栏目ID
if($notypeid!=0) {
$tpsql = $tpsql."and not(id in($notypeid)) ";
}
修改完成后保存,360好搜,然后在模板里面通过如下方法调用:
{dede:channelartlist typeid ='3' notypeid='14,15'}
其中notypeid='14,15'中的14,15为3的子栏目,这样就可以排除id为14和15的栏目内容调用了,百度,这个如果大家有需要的可以试一试这个方法。
,百度
在线客服