联系官方销售客服

1835022288

028-61286886

分享经验 版主:论坛审计组
上一篇下一篇按照更新日期(updatetime)排序
类型:迅睿CMS 更新时间:2024-01-17 17:46:46

内容也底部的“上一篇下一篇”默认是以ID排序的。

按照官方文档操作——《重写Content类:自定义方式的内容下一篇上一篇序列》

https://www.xunruicms.com/doc/1037.html


实例如下,注意代码中 $data['_updatetime'] 中updatetime字段名需要带下划线。

<?php namespace Phpcmf\Model\News;

// 模块内容模型类

class Content extends \Phpcmf\Model\Content {

      // 格式化显示内容
    public function _call_show($data) {
        
        $updatetime = $data['updatetime']; //按照更新日期显示上一页下一下要添加这一行
       // 上一篇文章
        $builder = $this->db->table($this->mytable);
        $builder->where('catid', (int)$data['catid']);// 本栏目下
        $builder->where('status', 9);
        $builder->where('updatetime<', (int)$data['_updatetime'])->orderBy('updatetime desc'); // 这里是按照updatetime升降序的,你可以改成其他方式
        $data['prev_page'] = $builder->limit(1)->get()->getRowArray();
        
        // 下一篇文章
        $builder = $this->db->table($this->mytable);
        $builder->where('catid', (int)$data['catid']);// 本栏目下
        $builder->where('status', 9);
        $builder->where('updatetime>', (int)$data['_updatetime'])->orderBy('updatetime asc'); // 这里是按照updatetime升降序的,你可以改成其他方式
        $data['next_page'] = $builder->limit(1)->get()->getRowArray();
        
        // 覆盖系统的上下页变量
        \Phpcmf\Service::C()->is_prev_next_page = false;

        return $data;
    }
}