织梦dedecms全部文章列表arclist不包含某个栏目的方法

织梦dedecms全部文章列表arclist不包含某个栏目的方法

阅读1060评论0
特征:
免费

所有作品,均为手写代码。部分样式或代码移植或仿造自互联网(如有侵权,出示著作权证书联系博主删除),所有代码不能用于非法站点(色情、暴力、博彩、政治类站点)。请尊重作者的劳动成果!

购买/下载暂无演示 分享海报

用织梦建站时,有时候指定栏目文章不需要在某处显示,或者不参与排序和推荐时,只用typeid过滤很麻烦,并且维护起来也很不爽,下面分享给大家怎么解决全站文章列表排除指定栏目的方法。

织梦arclist支持flag和noflag,但是在栏目ID上只支持typeid,所以我们要加一个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')

第二步:

在约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

第三步:

在约323行找到这段代码

$orwheres[] = ' arc.arcrank > -1 ';

在这段代码前面加上下面的代码

if(!empty($notypeid)){
	$orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")";
}

OK了,保存一下,现在arclist就多了一个notypeid的属性了。

使用Deom:

{dede:arclist row='10' notypeid='28'}

0 位网友评论:

欢迎来评论

请填写验证码

1、通过本站购买模板/插件/源码,均享有永久售后服务(仅软件现有功能,不包含开发新增)

2、文章中都有说明教程,在使用过程中遇到问题可以咨询博主。

3、静态HTML页面模板可转换成CMS模板,服务费用100元一页(总费用可协商)。

4、本站的静态HTML页面模板凡超过400元的可免费转换CMS模板一次。

5、购买源码类提供一次免费安装服务(需提供服务器或主机信息)。

6、模板/插件/源码二次打开,此服务按量收费,如有需要,请先和博主商谈报价。

7、自定义模板服务每页100元,如需多终端兼容,每页150元。

8、定制插件服务,300元起(具体看功能需求)。

9、定制系统服务,请整理需求文档和预算,价格具体和博主协商。

10、若有其他问题的网友可联系博主沟通,博主会的一定教(如果问题很复杂,请详谈劳务费哈)。