找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1665|回复: 0

[分享] 让织梦arclist支持notypeid属性的方法

[复制链接]
发表于 2018-7-28 10:42:38 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
织梦默认的arclist标签支持typeid的调用,也就是给文章列表指定来源栏目,有时候栏目过多,一个一个写就很复杂,所以用排除的方法写更方便,以此引入notypeid属性。

主要修改文件是/include/taglib/下的arclist.lib.php文件,首先搜索:

return lib_arclistDone

在函数末尾加上:,$ctag->GetAtt('notypeid'),原来的代码变成如下的样子:

  1. return lib_arclistDone

  2.        (

  3.          $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,

  4.          $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,

  5.          $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,

  6.          $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),

  7.          $tagid,$pagesize,$isweight,

  8. $ctag->GetAtt('notypeid')         

  9.      );
复制代码


然后再搜索function lib_arclistDone,同样在这个函数的后面加上一句代码:,$notypeid=0,修改后的函数变成下面的样子:

  1. function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,

  2.         $imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',

  3.         $innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N',$notypeid=0)
复制代码


最后,搜索以下代码:$orwheres[] = ' arc.arcrank > -1 ';,在这个代码的前面加入如下代码:

  1. if(!empty($notypeid))  

  2. {

  3.     $orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")";

  4. }
复制代码


上传覆盖之后即可使用arclist的notypeid属性,使用方法如下:

  1. {dede:arclist row=6 orderby=pubdate notypeid='7,8,9'}
复制代码


1P2464914-0.webp

意思是按更新时间,调用除了栏目id是7,8,9的其余栏目中的6条数据。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-31 14:18 , Processed in 0.045573 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表