您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
织梦dedecms相关文章中实现orderby参数排序的方法
黎宇澄2023-09-24 18:37:05dedecms教程已有人查阅
导读织梦DedeCMS的相关文章是丰富网站内容非常强大的功能,它能够把网站中内容相关的文档进行有效的整合,这点对用户体验和搜索引擎都是非常友好的。不过织梦De
织梦DedeCMS的相关文章是丰富网站内容非常强大的功能,它能够把网站中内容相关的文档进行有效的整合,这点对用户体验和搜索引擎都是非常友好的。不过织梦DedeCMS的相关文章标签,没有像织梦DedeCMS的dede:arclist标签一样强大,可以进行排序操作。怎么实现织梦DedeCMS相关文章的按orderby参数排序呢?
织梦DedeCMS相关文章中实现orderby参数排序
原理上来说,只是在SQL语句上进行一下排序就可以了,我们完全可以借鉴织梦dede:arclist标签的排序功能。以下的代码目前仅使用了pubdate和click排序,其他的没测试,不知道是否可用。具体的操作步骤是修改\include\taglib\likearticle.lib.php文件。
织梦DedeCMS相关文章中实现orderby参数排序
上述文件就是织梦DedeCMS相关文章标签的定义文件,进行操作之前,建议先备份该文件。找到如下的这段代码,并把它删除:
织梦DedeCMS相关文章中实现orderby参数排序
原理上来说,只是在SQL语句上进行一下排序就可以了,我们完全可以借鉴织梦dede:arclist标签的排序功能。以下的代码目前仅使用了pubdate和click排序,其他的没测试,不知道是否可用。具体的操作步骤是修改\include\taglib\likearticle.lib.php文件。
织梦DedeCMS相关文章中实现orderby参数排序
上述文件就是织梦DedeCMS相关文章标签的定义文件,进行操作之前,建议先备份该文件。找到如下的这段代码,并把它删除:
if( empty($arcid) || $byabs==0 )
{
$orderquery = " ORDER BY arc.id desc ";
}
else {
$orderquery = " ORDER BY ABS(arc.id - ".$arcid.") ";
}
然后找到约第13行处的如下代码:
$revalue = '';
在上面的代码下面添加如下代码:
if($orderby=='hot' || $orderby=='click') $orderquery = " order by arc.click desc";
else if($orderby == 'sortrank' || $orderby=='pubdate') $orderquery = " order by arc.sortrank desc";
else if($orderby == 'id') $orderquery = " order by arc.id desc";
else if($orderby == 'rand') $orderquery = " order by rand()";
以上代码主要是添加排序的参数,这里注意末尾的desc你可以自己改成asc这两个是降序和升序排列,如果你想用orderWay做参数,那就自己加代码吧。如果想要更多的排序功能,可以参考dede:arclist标签的定义文件处理。
本文标签:
很赞哦! ()
相关文章
随机图文
-
织梦5.6导航栏背景图修改方法
有的朋友想要修改织梦CMS V5.6的导航栏的背景,其实这个背景是一个图片文件,大家只要将这个图片更换成自己想要的背景图就行了。 -
织梦dedecms广告模块修改后前台显示未更新怎么办
安装了 DedeCms 自带的广告模块后,发现在修改广告信息后,前台调用的广告还是修改之前的信息,查看了一下源代码,发现是调用缓存了 -
织梦模板标签语法介绍
织梦的模板标签类似于XML格式,所有的模板都含有定界符,默认情况下是{dede:*}和{/dede:*},“*”代表模板标记名称。 -
dedecms实现无限数量的交叉副栏目的方法
目前dedecmx5.6版本副栏目选择只能选择为9个,但就是由稀奇古怪的客户想选择更多,研究了一下是js调用的问题。
留言与评论 (共有 条评论) |