您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程

dedecms文章列表arclist标签增加notypeid属性过滤指定栏目

半芹2024-01-25DedeCMS教程已有人查阅

导读我们都知道织梦的模板引擎标签功能非常的强大,只要了解这些模板标签,在前台调用各种形式的内容数据就可以得心应手。 当然,如果我们能再加点,对织梦默认的标签再

我们都知道织梦的模板引擎标签功能非常的强大,只要了解这些模板标签,在前台调用各种形式的内容数据就可以得心应手。
当然,如果我们能再加点,对织梦默认的标签再加以改进,那就可以更加完美,实现更多功能了。
最近在对自己小站的栏目进行扩展和细分,由原来的五个一级栏目变成十个一级栏目,每个一级栏目再细分为四到八个二级栏目,以便更好的管理内容。
但是这样做之后就遇到一个问题,比如我不想让其中一个栏目里面的内容在首页的较新文章列表中显示,按照织梦现有的办法,就是在arclist标签的typeid属性里把想显示文章的栏目ID全部设置上。
但如果栏目ID太多,维护起来就相当麻烦,于是我想既然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'}

本文标签:织梦cms标签 

很赞哦! ()

相关源码

  • (自适应)驾校培训学车活动免费pbootcms源码下载本模板基于PbootCMS内核开发,为驾校培训行业打造,具备完善的招生展示、课程预约、教练团队展示等功能模块。响应式设计适配各类移动终端,数据实时同步管理,助您高效开展线上业务。查看源码
  • PbootCMS(自适应手机端)智能电话AI机器人网站模板产品概述基于PbootCMS内核开发的智能电话AI机器人网站模板,为语音交互服务场景设计,采用HTML5+CSS3响应式布局技术,实现PC端与移动端数据实时同步展示。模板适用于智能电话查看源码
  • (自适应)WordPress二次元博客主题SakurairoSakurairo主题为二次元内容创作者设计,提供丰富的动漫风格元素和个性化的展示效果。该主题在原有Sakura主题基础上进行了功能增强,支持多种自定义设置,满足动漫爱好者建立个人博客的需求。查看源码
  • 响应式高端家居家具装修类pbootcms模板网站源码家居装修、空间设计企业打造的营销型网站解决方案,基于PbootCMS内核深度开发。采用前沿响应式架构,适配手机端与PC端浏览体验查看源码
  • (自适应)平面设计网络工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为设计工作室、创意机构打造的作品展示解决方案。通过模块化布局与极简交互设计,呈现设计作品的视觉细节,支持作品分类、案例解析等多维度展示方式。查看源码
  • 帝国cms大气淘宝客网站源码带手机版带火车头采集本款创意礼物导购网站模板为礼物类电商平台设计,采用清爽简约的界面风格,具备完善的商品导购功能。系统支持在文章攻略中灵活插入商品购买链接,实现内容与电商的结合。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐