找到 \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 ='114' notypeid='123,124,125,126,127,128'}
其中notypeid='123,124,125,126,127,128' 中的 123,124,125,126,127,128 为114的子栏目
修改后的channelartlist.lib.php
<?phpif(!defined('DEDEINC')) exit('Request Error!');require_once(DEDEINC.'/arc.partview.class.php');functionlib_channelartlist(&$ctag,&$refObj){global$dsql,$envs,$_sys_globals;//处理标记属性、innertext$attlist= 'typeid|0,row|20,cacheid|,notypeid|0';FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items, EXTR_SKIP);$innertext= trim($ctag->GetInnerText());$artlist= '';//读取固定的缓存块$cacheid= trim($cacheid);if($cacheid!='') {$artlist= GetCacheBlock($cacheid);if($artlist!='') return$artlist;}if(empty($typeid)){$typeid= ( !empty($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : 0 );}if($innertext=='') $innertext= GetSysTemplets('part_channelartlist.htm');$totalnum= $row;if(empty($totalnum)) $totalnum= 20;//获得类别ID总数的信息$typeids= array();if($typeid==0 || $typeid=='top') {$tpsql= " reid=0 And ispart<>2 And ishidden<>1 And channeltype>0 ";}else{if(!ereg(',',$typeid)) {$tpsql= " reid='$typeid' And ispart<>2 And ishidden<>1 ";}else{$tpsql= " id in($typeid) And ispart<>2 And ishidden<>1 ";}}//否定指定IDif($notypeid!=0) {$tpsql= $tpsql."and not(id in($notypeid)) ";}$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathfrom `dede_arctype` where $tpsqlorder by sortrank asc limit $totalnum");$dsql->Execute();while($row= $dsql->GetArray()) {$typeids[] = $row;}if(!isset($typeids[0])) return'';$GLOBALS['itemindex'] = 0;$GLOBALS['itemparity'] = 1;for($i=0;isset($typeids[$i]);$i++){$GLOBALS['itemindex']++;$pv= newPartView($typeids[$i]['id']);$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);$pv->SetTemplet($innertext,'string');$artlist.= $pv->GetResult();$GLOBALS['itemparity'] = ($GLOBALS['itemparity']==1 ? 2 : 1);}//注销环境变量,以防止后续调用中被使用$GLOBALS['envs']['reid'] = '';if($cacheid!='') {WriteCacheBlock($cacheid, $artlist);}return$artlist;}?>上一篇:修改{dede:list}标签后,可支持权重排序、flag标签功能
下一篇:dedecms去掉编辑器自动加div的方法即大小字情况
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法下载,联系站长索要。
如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。