当前位置:首页 > 网站管理 > 正文内容

织梦dedecms全站文章列表如何排除某个栏目dede arclist 排除栏目

wzccxx5年前 (2021-06-05)网站管理12

织梦dedecms全站文章列表如何排除某个栏目【解决方法】

我们都知道织梦标签功能非常的强大,但如果栏目太多时,有的栏目文章不需要在首页显示,或者不参与排序和推荐时,只用typeid过滤和维护起来就相当麻烦,下面教大家怎么解决织梦文章列表排除某个特定栏目的方法。

既然arclist支持flag和noflag,那么应该也可以支持typeid和notypeid吧?但是经过一番研究,再跟踪了一下源码,发现织梦默认并不支持notypeid,于是只有自己动手修改了,方法非常简单仅需两步就可以,下面就给大家分享一下自己的成果。

第一步:首先找到并打开/include/taglib/arclist.lib.php文件,

在大概第130行的位置找到下面这段代码: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')

第二步:然后再找到这一段代码:

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

第三步:最后在这个函数里面找到下面这一句代码:

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

在其前面添加如下代码:

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

到这里,所有代码就修改完毕了。保存之后就在arclist标签里试试添加一个notypeid属性吧。对于网站栏目多,内容显示又错综复杂的情况,这样的属性还是蛮实用的。

下面是示例:

{dede:arclist row=6 orderby=pubdate type='image.' channelid='1' notypeid='9'}


扫描二维码推送至手机访问。

版权声明:本文由泰山森林发布,如需转载请注明出处。

本文链接:https://wzc.tzts.ltd/post/50.html

分享给朋友:

相关文章

真正有效的 dede5.7 按权重排序 解决方法

{dede:arclist titlelen='38' flag='h' noflag='a' isweight='y' orderby='weig...

织梦dedecms自定义属性增加、修改和删除的方法

织梦dedecms自定义属性增加、修改和删除的方法

织梦的文章自定义属性默认的只有8个,如下图。但有时候我们需要更多的flag属性。本文就来讲解一下织梦自定义属性的添加、删除、修改的几种方法。1、修改现有的自定义属性      如上...

dedecms自动生成tag方法

织梦dedecms可以自动生成keywords,但是却没有办法自动生成tag,系统后台的TAG标签管理生成的标签实际上就是复制了keywords,让后插入tag中。 所以要自动生成tag的话,只需要把keywords的值赋给tag...

input框中自动展示当前日期 yyyy/mm/dd

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title...

自动文章关键词后链接不变色的方法

include/ 目录下,arc.archives.class.php,在源代码1207行$kaarr[] = "<a href='$key_url' target='_blank'>$...

dede织梦---导航栏目下拉菜单不显示外部链接栏目channelartlist标签

如果需要显示外部链接,5.7可以找include/taglib/channelartlist.lib.php第67行左右去掉红色代码$tpsql = " reid=0 AND ispart<>2 AND ishidde...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。