织梦DedeCMS的相关文章是丰富网站内容非常强大的功能,它能够把网站中内容相关的文档进行有效的整合,这点对用户体验和搜索引擎都是非常友好的。不过织梦DedeCMS的相关文章标签,没有像织梦DedeCMS的dede:arclist标签一样强大,可以进行排序操作。怎么实现织梦DedeCMS相关文章的按orderby参数排序呢?
织梦DedeCMS相关文章中实现orderby参数排序
原理上来说,只是在SQL语句上进行一下排序就可以了,我们完全可以借鉴织梦dede:arclist标签的排序功能。以下的代码目前仅使用了pubdate和click排序,其他的没测试,不知道是否可用。具体的操作步骤是修改\include\taglib\likearticle.lib.php文件。
上述文件就是织梦DedeCMS相关文章标签的定义文件,进行操作之前,建议先备份该文件。找到如下的这段代码,并把它删除:
1
2
3
4
5
6
7
|
if ( empty ( $arcid ) || $byabs ==0 ) { $orderquery = " ORDER BY arc.id desc " ; } else { $orderquery = " ORDER BY ABS(arc.id - " . $arcid . ") " ; } |
然后找到约第13行处的如下代码:
1
|
$revalue = '' ; |
在上面的代码下面添加如下代码:
1
2
3
4
|
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标签的定义文件处理。