自定义方式的内容下一篇上一篇序列

迅睿框架 更新 2022-01-06 15:00:05 wazhqi123

 重写Content类:自定义方式的内容下一篇上一篇序列,我按照官方的方法,创建了Content.php,然后发现不起作用,后来找到Module.php文件,打印出来,发现Content.php出来的是正确的,但是又被下面的代码给覆盖掉了,Module.php文件是框架系统文件,能关闭掉下面的代码的方法是 is_prev_next_page,我需要在哪里设置才能正确的让重写content类起到作用呢

image

方案

  • 迅睿框架创始人 #1 · 2022-01-06 14:34:26
    你新建的完整的文件内容,发给我看看。
  • wazhqi123 #2 · 2022-01-06 14:38:36
    回复迅睿框架创始人 <?php namespace Phpcmf\Model\Article;// 模块内容模型类class Content extends \Phpcmf\Model\Content{ // 格式化显示内容 public function _call_show($data) { // 上一篇文章 $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'); $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'); $data['next_page'] = $builder->limit(1)->get()->getRowArray(); return $data; } }就是复制的官方文档,改了下查询

  • 迅睿框架创始人 #3 · 2022-01-06 14:48:14
    满意答案
    这种修改思路应该可行的
    <?php namespace Phpcmf\Model\Article;
    // 模块内容模型类
    class Content extends \Phpcmf\Model\Content{
          // 格式化显示内容
        public function _call_show($data) {
           // 上一篇文章
            $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');  
            $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');  
            $data['next_page'] = $builder->limit(1)->get()->getRowArray();
            
            $data['aaaaaaaaa'] = '测试语句';
           
            return $data;
        }
       
       
    }
    然后去show.html模板里面输出aaaaaa变量能不能有值,如果有值说明思路就对了,你就可以在这里开发代码了
  • wazhqi123 #4 · 2022-01-06 14:55:04
    哦,我懂了,非常感谢官方大大,cms还是迅睿好用
  • wazhqi123 #5 · 2022-01-06 15:00:05
    迅睿框架创始人:我自己陷入了误区,content类重写的时候,prev_page和next_page变量改成别的变量名就可以了,然后在模板上输出新的变量名,就不会被系统文件的覆盖掉了

迅睿系统漏洞

站群分站系统
站群分站系统(2026-10-15)
子站域名新增llms.txt访问
GEO系统
GEO系统(2026-10-14)
修复下载zip空白地址问题 修复流量复刻和任务队列错误
GeoSeo收录宝
GeoSeo收录宝(2026-10-14)
新增 站长工具箱 前端首页自动调用meta 数据
滑块验证码 Gocaptcha
滑块验证码 Gocaptcha(2026-10-13)
基于开源项目 go-captcha 的行为验证码插件,滑动拼图、区域...
GeoSeo工具箱
GeoSeo工具箱(2026-10-13)
优化巡检任务
GeoSeo排名助手
GeoSeo排名助手(2026-10-11)
加入大模型自定义
SEO聚合关键字
SEO聚合关键字(2026-10-11)
优化关键字列表页最多支持1万篇文章,过多会导致服务器扛不住;
CMS内容同步复制
CMS内容同步复制(2026-10-10)
增加时间是否更新的开关