用织梦建站时,有时候指定栏目文章不需要在某处显示,或者不参与排序和推荐时,只用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'}
欢迎你来评论
1、通过本站购买模板/插件/源码,均享有永久售后服务(仅软件现有功能,不包含开发新增)
2、文章中都有说明教程,在使用过程中遇到问题可以咨询博主。
3、静态HTML页面模板可转换成CMS模板,服务费用100元一页(总费用可协商)。
4、本站的静态HTML页面模板凡超过400元的可免费转换CMS模板一次。
5、购买源码类提供一次免费安装服务(需提供服务器或主机信息)。
6、模板/插件/源码二次打开,此服务按量收费,如有需要,请先和博主商谈报价。
7、自定义模板服务每页100元,如需多终端兼容,每页150元。
8、定制插件服务,300元起(具体看功能需求)。
9、定制系统服务,请整理需求文档和预算,价格具体和博主协商。
10、若有其他问题的网友可联系博主沟通,博主会的一定教(如果问题很复杂,请详谈劳务费哈)。
有 0 位网友评论: