1. 主页 > 网站建设 > dede织梦学院 >

织梦调用栏目的时候,怎么排除id,不调用其中几个栏目呢?

  今天在更新网址模板的时候,发现新模板的导航栏把后台所有的栏目都给调用出来了,但是比如关于我们,还有城市等等这样的分类,我是不想它出现的,按以往的做法,我会直接写死,但是觉得还是比较繁琐,如果下次有新增栏目,还得手动新增麻烦,那么织梦调用栏目的时候,怎么排除id,不调用其中几个栏目呢?
 
  在使用 dede:channelartlist 自动调用栏目内容时,经常会遇到某些栏目不需要调用,比如“关于我们”、“联系地址”等无持续更新的栏目。要想在 dede:channelartlist 调用时排出某些栏目,这需要修改dede源码,让 dede:channelartlist 排除指定typeid。
 
1、打开 \include\taglib\channelartlist.lib.php 文件
 
找到
 
$attlist = 'typeid|0,row|20,cacheid|';
 
修改为:
 
$attlist = 'typeid|0,row|20,cacheid|,notypeid|0'; // 此处添加了一个所要排除typeid的参数—notypeid
 
找到
 
$dsql->SetQuery("Selectid,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 row='10' typeid='top'  notypeid='42'}  
 
其中notypeid='42' 就是我不想调用的栏目,这样导航就剩下我想用的所有栏目了!
 

本文仅代表作者观点,不代表本站立场。 如需转载请注明原网址:

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:9:30-18:30,节假日休息