"景先生毕设|www.jxszl.com

织梦DedeCMS使likearticle标签支持排序orderby

2022-10-29 16:28编辑: www.jxszl.com景先生毕设
我们在使用DedeCMS用于图片站WEB开发时,需要随机调用文章.图集和关联文章.图集功能,以增加用户黏度,这个也属于站内优化重要I.部分.

DedeCMS使likearticle标签支持排序orderby

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

 更多精彩就在: 51免费论文网|www.jxszl.com 
:


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

但是调用文章相关文章标签{dede:likearticle}却没有orderby这个功能.淘站网以前在文章DedeCMS通过Tag和Keyword标签获取相关文章的方法和DedeCMS文章页调用全站相关文章的方法中也介绍过调用全站相关文章的方法,而今天我们想给likearticle也增加I.个排序功能.

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


if(empty($arcid)||$byabs==0){
$orderquery="orderbyarc.iddesc";
}
else{
$orderquery="orderbyABS(arc.id-".$arcid.")";
}

修改为:


if($orderby==hot||$orderby==click)$orderquery="orderbyarc.click$orderWay";
elseif($orderby==sortrank||$orderby==pubdate)$orderquery="orderbyarc.sortrank$orderWay";
elseif($orderby==id)$orderquery="orderbyarc.id$orderWay";
elseif($orderby==near)$orderquery="orderbyABS(arc.id-".$arcid.")";
elseif($orderby==lastpost)$orderquery="orderbyarc.lastpost$orderWay";
elseif($orderby==scores)$orderquery="orderbyarc.scores$orderWay";
elseif($orderby==rand)$orderquery="orderbyrand()";
elseif($orderby==weight)$orderquery="orderbyarc.weightasc";
else$orderquery="orderbyarc.sortrank$orderWay";

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


原文链接:http://www.jxszl.com/biancheng/dedecms/75089.html