修改dede源码,让dede: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 #@__arctype where $tpsql order by sortrank asc limit $totalnum");

在其前面添加(注意是在前面添加):

//否定指定ID
if($notypeid!=0) {
$tpsql = $tpsql."and not(id in($notypeid)) ";
}

模板调用:
{dede:channelartlist typeid ='114' notypeid='123,124,125,126,127,128'}
其中notypeid='123,124,125,126,127,128' 中的 123,124,125,126,127,128 为114的子栏目

来自:http://my.oschina.net/lyx2012/blog/55880

标签: none

添加新评论