请在Chrome、Firefox等现代浏览器浏览本站。网站域名:森林之家(www.foresthouse.cn)爱学习、爱分享、爱绿软、爱恐怖、爱音乐、爱唠叨、爱折腾、爱生活!

小记织梦按pubdate字段排序

织梦教程 forest 181℃ 已收录 0评论
前言:我想调用的是审核过的文章排在前面,{dede:arclist typeid=” row=” titlelen=’50’ orderby=’pubdate’ orderway=’desc’}{/dede:arclist}
这里的orderby=’pubdate’程序会变成按 sortrank 来执行,可是sortrank并没有变,所以根本没有效果。对于有特殊需求的人可以参考下面的调用方法。
打开以下文件:/include/taglib/arclist.lib.php找到以下代码:
else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " ORDER BY arc.sortrank $orderWay";
把它改成以下代码:
else if($orderby == 'sortrank') $ordersql = " ORDER BY arc.sortrank $orderWay";else if($orderby == 'pubdate') $ordersql = " ORDER BY arc.pubdate $orderWay";
调用的时候正常调用例如以下代码:
{dede:arclist orderby='pubdate' orderway='desc' row=12} <li> <a href="[field:arcurl/]" [field:title/]</a> [field:pubdate function="MyDate('m-d',@me)"/]</span></li>
{/dede:arclist}

如下图:


最终效果就是在“dede_archives”表中的“pubdate”字段哪个数字大哪个排在前面,就达到了我们想要的效果。

2018年08月01日更新(增加列表页也按pubdate字段排序)

网站在运营了一段时间后发现一个奇怪的现象审核后的文章在首页按本文上面的方法完全正确,可是到了列表页后依然是按原来的规则排序,有些pubdate高的排在了后面,而ID高的排在了前面,这并不是我想要的结束。所以特更新以下内容织梦列表页按pubdate字段排序:

1、在根目录里的找到“include”文件夹找到“arc.listview.class.php”文件并打开;

2、查找“//排序方式”

3、在此中增加一个判断代码和图片参考如下:

else if($orderby == 'sortrank') { $ordersql = " ORDER BY arc.sortrank $orderWay"; } else if($orderby == 'pubdate') { $ordersql = " ORDER BY arc.pubdate $orderWay"; }

图片参考

4、往下查找:“//如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢)”,在里面添加两个字段“sortrank”和“pubdate”,代码和图片参考如下:

if(preg_match('/hot|click|lastpost|sortrank|pubdate/', $orderby))

图片参考2
图片参考3

好了到此结束去试一下吧,如下图列表按pubdate字段排序是不是很整洁漂亮呢?

列表按pubdate字段排序

本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://www.foresthouse.cn/archives/5810.html
喜欢 (0)or分享 (0)
发表我的评论(注:在您评论完以后不会立即显示,请不要重复刷新以免进入黑名单。)
取消评论
表情 代码 贴图 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址