织梦默认的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的栏目内容调用了,百度,这个如果大家有需要的可以试一试这个方法。

百度