您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
dedecms怎么使用ARCLIST标签中IDLIST进行文章排序的方法
邬肖任2023-09-19DedeCMS教程已有人查阅
导读平时代码号看见站长朋友们做站的时候,排序总是一个头痛的问题,DedeCMS默认的文章排序功能已经非常强大了,但是唯一缺少的就是,按指定的id顺序排序,代码
平时代码号看见站长朋友们做站的时候,排序总是一个头痛的问题,DedeCMS默认的文章排序功能已经非常强大了,但是唯一缺少的就是,按指定的id顺序排序,代码号小编经过左思右想,终于把这个问题解决了,DedeCMS默认的arclist标签有一个idlist调用指定id的文章,所以代码号小编就想到了,就利用这个idlist进行排序,下面先上方法,再说原理。先打开/include/taglib/arclist.lib.php 所有的修改都是在这里面完成的。
1、找到return lib_arclistDone 这段代码,在其前面加上$orderidlist = $ctag->GetAtt(‘orderidlist’); 并且在lib_arclistDone函数调用的之后面加上参数$orderidlist,代码如下:
1、找到return lib_arclistDone 这段代码,在其前面加上$orderidlist = $ctag->GetAtt(‘orderidlist’); 并且在lib_arclistDone函数调用的之后面加上参数$orderidlist,代码如下:
$orderidlist = $ctag->GetAtt(‘orderidlist’);
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,$orderidlist
);
2、找到function lib_arclistDone这段代码,在函数lib_arclistDone的之后加上参数$orderidlist=’N’,代码如下:
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’,$orderidlist=’N’)
3、找到$innertext = trim($innertext); ,在其下面加上$orderidlist = AttDef($orderidlist,’N’);代码如下:
$orderby = strtolower($orderby);
$keyword = trim($keyword);
$innertext = trim($innertext);
$orderidlist = AttDef($orderidlist,’N’);
$tablewidth = $ctag->GetAtt(‘tablewidth’);
$writer = $ctag->GetAtt(‘writer’);
if($tablewidth == “”) $tablewidth = 100;
4、搜索“//指定了id或使用缓存中的id” 把下面的条件语句改成:
//指定了id或使用缓存中的id
if($idlist != ”)
{
$query = “SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,
tp.moresite,tp.siteurl,tp.sitepath
$addfieldsSql
FROM `$maintable` arc left join `dede_arctype` tp on arc.typeid=tp.id
$addfieldsSqlJoin
WHERE arc.id in($idlist) “;
if($orderidlist == ‘N’) {
$query .= $ordersql;
} else {
$query .= ” ORDER BY FIELD(arc.id,$idlist) “;
}
}
这样就对arclist添加了一个orderidlist属性,有参数Y/N, 默认为N,为Y的时候,就可以按idlist 排序了。其实这个原理也非常简单,就是利用的MYSQL数据库的ORDER BY FIELD功能。所以这样我们就可以使用idlist排序了
本文标签:织梦cms标签
很赞哦! ()
相关教程
- PHPCMS和织梦DEDECMS对比分析
- cms基本概念dedecms,phpcms介绍
- DedeCMS, Discuz, Phpwind, PhpCMS配置安全设置方法
- phpcms和dedecms工作区别
- 帝国cms、dedecms、phpcms等负载测试
- dedecms、php168,phpcms、VeryCMS、DiyPage五款开源cms系统点评
- phpcms和dedecms有哪些区别不同
- dedecms织梦发布内容网站为空白的原因有哪些
- dedecms织梦程序安装后无法修改栏目的解决方法
- 织梦dedecms上传图片默认路径怎么修改
- 用dedecms织梦程序做中英双语网站制作方法
- 织梦dedecms首页幻灯片不显示的原因和解决办法
图文教程
织梦dedecms5.7怎么生成百度地图sitemap和谷歌地图sitemap
因为我的新网站收录的特别慢,之前dede系统用的sitemap是直接用的插件百度新闻…因为看到一篇日志,那个鬼说这样有用,今天仔细查了下,后来发现这个生成的
织梦dedecms自定义表单时间字段读取中显示数字的解决办法
一般,我们要用到自定义表单也是为了把前台客户的数据,提交到数据库里,然后再后台我们可以看到自定义表单可以做:报名系统啦,招聘系统啦,返修系统等等
将dedecms默认水印换成自己水印的方法
随着互联网的普及,越来越多的人投入到了建站的行列,而其中很多站长都选择了织梦,然而不是所有的站长都是程序出身,对织梦不甚了解,有时候遇到一些问题自己便无法解决
织梦dedecms循环调用二级栏目下三级栏目的方法
织梦dedecms怎么循环调用二级栏目下三级栏目,下面跟版小编为大家讲解下,其实要用到的就是织梦的channelartlist标签,唯一一个可以嵌套标签的标签
相关源码
-
(自适应)品牌策划网络设计作品公司个人pbootcms网站源码下载本款基于PbootCMS开发的网站模板专为品牌策划、设计公司打造,特别适合展示创意作品、设计案例和企业服务。模板采用现代化设计风格查看源码 -
(自适应)大气网络公司工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为网络技术服务类企业打造,具备高度可定制性。通过简洁现代的设计语言展现企业专业形象,后台数据实时同步机制确保多终端内容一致性,查看源码 -
(自适应)html5中英双语通用机械设备pbootcms模板下载本模板基于PbootCMS内核精心开发,为机械设备制造企业量身打造。设计风格大气稳重,充分展现机械行业的专业特质与技术实力。采用HTML5技术构建,支持中英文双语切换,满足国际化业务需求。整站布局合理,充分展示企业产品、案例与服务,帮助访客快速了解企业核心优势。查看源码 -
帝国cms7.5个人博客资讯文章模板下载本模板简洁个人博客网站设计开发,采用帝国CMS内核构建,只需替换文字图片即可快速搭建专业网站。自适应手机端设计,数据实时同步,操作简单便捷。PHP程序确保安全稳定运行,帮助您以较低成本获取持续业务。查看源码 -
(自适应多语言)WordPress开源主题MirageV资讯个人博客源码MirageV资讯类个人博客主题源码/WordPress主题/全开源MirageV 是一款开源的 WordPress 主题,支持自适应、暗黑模式、多语言等功能,查看源码 -
(PC+WAP)化工材料企业环保能源绿色营销型pbootcms模板源码下载本模板为化工材料及环保能源企业设计,采用PbootCMS开发,可展示各类化工产品、环保技术及能源解决方案。查看源码
| 分享笔记 (共有 篇笔记) |
