联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
自定义方式的内容下一篇上一篇序列
类型:迅睿CMS 更新时间:2022-01-06 15:00:05 重写content类

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

image

回帖
  • #1楼    迅睿框架创始人
    2022-01-06 14:34:26
    Google Pixel 手机 0
    你新建的完整的文件内容,发给我看看。
  • wazhqi123
    #2楼    wazhqi123
    2022-01-06 14:38:36
    Chrome 0
    回复迅睿框架创始人 <?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
    Google Pixel 手机 0
    这种修改思路应该可行的
    <?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楼    wazhqi123
    2022-01-06 14:55:04
    Chrome 0
    哦,我懂了,非常感谢官方大大,cms还是迅睿好用
  • wazhqi123
    #5楼    wazhqi123
    2022-01-06 15:00:05
    Chrome 0
    迅睿框架创始人:我自己陷入了误区,content类重写的时候,prev_page和next_page变量改成别的变量名就可以了,然后在模板上输出新的变量名,就不会被系统文件的覆盖掉了