业务经理

微信扫描以上二维码

028-61286886

技术咨询

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

迅睿框架 更新 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变量改成别的变量名就可以了,然后在模板上输出新的变量名,就不会被系统文件的覆盖掉了

迅睿系统漏洞

GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...