网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

织梦channelartlist标签调用结果排除指定栏目数据的方法

织梦默认的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)) ";
}
 
修改完成后保存,然后在模板里面通过如下方法调用:
 
{dede:channelartlist typeid ='3' notypeid='14,15'}
 
其中notypeid='14,15'中的14,15为3的子栏目,这样就可以排除id为14和15的栏目内容调用了,这个如果大家有需要的可以试一试这个方法。
(责任编辑:admin)

    468x60