加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DedeCMS织梦模板使likearticle标签支持排序orderby的方法

发布时间:2020-12-14 04:36:31 所属栏目:Dedecms 来源:网络整理
导读:我们在使用DedeCMS用于图片站WEB开发时,需要随机调用文章、图集和关联文章、图集功能,以增加用户黏度,这个也属于站内优化重要一部分。 一般用标签调用都有排序orderby,默认的排序主要有: orderby='sortrank'?文档排序方式 orderby='hot'?或 orderby='cl

我们在使用DedeCMS用于图片站WEB开发时,需要随机调用文章、图集和关联文章、图集功能,以增加用户黏度,这个也属于站内优化重要一部分。

一般用标签调用都有排序orderby,默认的排序主要有:


orderby='sortrank'?文档排序方式
orderby='hot'?或 orderby='click'?表示按点击数排列
orderby='sortrank'?或 orderby='pubdate'?按出版时间排列
orderby='near'
orderby='lastpost'?按最后评论时间
orderby='scores'?按得分排序
orderby='id'?按文章ID排序
orderby='rand'?随机获得指定条件的文档列表
?

但是调用文章相关文章标签{dede:likearticle}却没有orderby这个功能。今天我们想给likearticle也增加一个排序功能.

方法也很简单,打开/include/taglib/likearticle.lib.php,找到以下代码(大概在第97行):


if( empty($arcid) || $byabs==0?) {
? ? ? $orderquery =?" order by arc.id desc ";
}
else?{
? ? ? $orderquery =?" order by ABS(arc.id - ".$arcid.") ";
}
?

修改为:


if($orderby=='hot'?|| $orderby=='click') $orderquery =?" order by arc.click $orderWay";
else if($orderby ==?'sortrank'?|| $orderby=='pubdate') $orderquery =?" orderby arc.sortrank $orderWay";
else if($orderby ==?'id') $orderquery =?" order by arc.id $orderWay";
else if($orderby ==?'near') $orderquery =?" order by ABS(arc.id - ".$arcid.")";
else if($orderby ==?'lastpost') $orderquery =?" order by arc.lastpost $orderWay";
else if($orderby ==?'scores') $orderquery =?" order by arc.scores $orderWay";
else if($orderby ==?'rand') $orderquery =?" order by rand()";
else if($orderby ==?'weight') $orderquery =?" order by arc.weight asc";
else?$orderquery =?" order by arc.sortrank $orderWay";
?

保存后,再在{dede:likearticle}标签中增加orderby的值即可实现按增加需要的方式进行排序

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读