使用织梦时,经常会用到arclist标签,arclist标签里有属性typeid,可以通过它来调用指定栏目的文章,那么假如我们不想调用它某个子栏目里的文章该怎么办呢?
本文就是用来解决此问题的,让织梦dedecms全部文章列表arclist标签增加notypeid属性,从而来排除指定栏目文章。
方法很简单,跟着修改几步就可以搞定。
第一步:
找到并打开/include/taglib/arclist.lib.php文件,在约129行的位置找到这段代码
return lib_arclistDone
(
$refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
$ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
$ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
$ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),
$tagid,$pagesize,$isweight
);
在$isweight后面增加$ctag->GetAtt('notypeid'),修改成这样
return lib_arclistDone
(
$refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
$ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
$ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
$ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),
$tagid,$pagesize,$isweight,$ctag->GetAtt('notypeid')
);
第二步:
还是在该文件里找,在约168行的位置找到这段代码
function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,
$imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',
$innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N')
在$isweight='N'后面增加$notypeid=0,修改成这样
function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,
$imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',
$innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N',$notypeid=0)
第三步:
还是在该文件里找,在约321行的位置找到这段代码
$orwheres[] = ' arc.arcrank > -1 ';
在其后增加代码
if(!empty($notypeid))
{
$orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")";
}
修改完毕,保存该文件即可。
第四步:使用方法
{dede:arclist row=‘10’ typeid=‘1’ notypeid=‘10’ titlelen=‘60’}
|