[织梦CMS教程] 给织梦文章列表循环标签增加notypeid属性对指定栏目过滤

[复制链接]
查看1178 | 回复8 | 2019-6-12 11:28:12 | 显示全部楼层 |阅读模式
我们都知道织梦dedecms的模板引擎标签功能非常的强大,只要了解这些模板标签,在前台调用各种形式的内容数据就可以得心应手。   当然,如果我们能再加点技术,对织梦默认的标签再加以改进,那就可以更加完美,实现更多功能了。   最近在对自己小站的栏目进行扩展和细分,由原来的五个一级栏目变成十个一级栏目,每个一级栏目再细分为四到八个二级栏目,以便更好的管理内容。   但是这样做之后就遇到一个问题,比如我不想让其中一个栏目里面的内容在首页的最新文章列表中显示,按照织梦现有的办法,就是在arclist标签的typeid属性里把想显示文章的栏目ID全部设置上。   但如果栏目ID太多,维护起来就相当麻烦,于是我想既然arclist支持flag和noflag,那么应该也可以支持typeid和notypeid吧?   于是经过一番研究,再跟踪了一下源码,发现织梦默认并不支持notypeid,于是只有自己动手修改了,下面就给大家分享一下自己的成果。   首先找到并打开/include/taglib/arclist.lib.php文件,在大概第130行的位置找到下面这段代码:   <span style="font-size:16px;">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                ); </span>   在最后面的括弧前面加上如下代码(注意前面的半角逗号):   ,$ctag->GetAtt('notypeid')   然后再找到这一段代码:   <span style="font-size:16px;">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')</span>   在最后的括号前面加上如下代码(注意前面的半角逗号):   ,$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'}
 织梦cms建站教程从入门到精通,自由织梦网www.freedede.cn长期免费更新教程,图文结合dedecms建站教程经验,内容包含使用织 梦CMS、做模板、写采集规则、做插件模块,是学习织梦产品的最佳去处。
回复

使用道具 举报

自在山高 | 2021-2-26 13:02:51 | 显示全部楼层
找了好多地方,终于找到了
回复

使用道具 举报

水月花郎稳 | 2021-6-23 08:20:30 | 显示全部楼层
我是来白嫖悟空源码的积分的!!!!!
回复

使用道具 举报

山东大鲤鱼 | 2021-8-10 11:25:38 | 显示全部楼层
谢谢楼主分享的资源,爱了~~~
回复

使用道具 举报

淡然一笑wwc | 2022-1-2 04:39:29 | 显示全部楼层
这个站很好,资源多,教程全
回复

使用道具 举报

浓茶人生 | 2022-3-19 02:58:29 | 显示全部楼层
谢谢楼主发布的资源下载,帮助我不少
回复

使用道具 举报

廊桥遗梦504 | 2023-1-1 21:37:32 | 显示全部楼层
很不错的资源站
回复

使用道具 举报

成圣 | 2024-3-12 13:49:11 | 显示全部楼层
厉害了悟空源码,这么多资源
回复

使用道具 举报

苏警暗刚 | 2024-7-5 01:41:34 | 显示全部楼层
我是来白嫖悟空源码的积分的!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则