以下通过修改织梦Dedecms代码实现channelartlist栏目排除指定typeid,版本5.7测试成功。
首先找到 \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");
在其前面添加(注意是在前面添加):站长教学网 eduyo.com
//否定指定ID
if($notypeid!=0) {
$tpsql = $tpsql."and not(id in($notypeid)) ";
}
模板调用:
{dede:channelartlist typeid ='1' notypeid='2,3'}
其中2,3为1的子栏目,也可以直接指定上级目录的id进行排除。
有问题可以留言
(责任编辑:ken)