织梦likearticle标签支持orderby属性的实现办法

这篇文章主要为大家详细介绍了织梦likearticle标签支持orderby属性的实现办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

在使用织梦系统做二次开发的时候为了让做的织梦模板便于SEO增加网站用户的粘性,我们经常会使用到相似文章、关联文章、你可能喜欢,猜你喜欢以及图集类的功能

织梦likearticle标签支持orderby属性的实现办法

而实现这样的功能,一般一会会使用到织梦的一个常用标签likearticle,关于likearticle标签在以前的文章《织梦likearticle标签调用是如何显示附加字段的实现办法》以及《DedeCMS修改likearticle标签实例介绍》做过一些介绍,今天要给大家介绍的是 织梦likearticle标签支持orderby属性的实现办法。

一般的织梦标签调用都有排序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标签支持orderby属性。

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

ifempty($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的值即可实现按增加需要的方式进行排序。

以上就是361模板关于织梦likearticle标签支持orderby属性的实现办法的全部内容,大家学会了吗?

以上就是织梦likearticle标签支持orderby属性的实现办法的全部内容,希望对大家的学习和解决疑问有所帮助。

未经允许不得转载:撩唇笔小窝 » 织梦likearticle标签支持orderby属性的实现办法

赞 (178) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏