联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
列表页的排序是按照“录入时间”排序的
类型:迅睿CMS 更新时间:2021-05-20 16:35:19

上一篇下一篇,按照“录入日期”进行排序。


问题描述:

1、列表页的排序是按照“录入时间”排序的

     {module catid=$catid order=inputtime page=1}

2、但是详情页却是按照“ID”排序的

3、看了N多帖子,用帖子内的方法,进行了修改,但是发现并不生效,修改后,如下:

路径:{xunruicms_img_title} Module.php

        // 上一篇文章
        $builder = \Phpcmf\Service::M()->db->table($this->content_model->mytable);
        $builder->where('catid', (int)$data['catid'])->where('status', 9);
        $is_fstatus && $builder->where('fstatus', 1);
        $builder->where('inputtime<', (int)$data['inputtime'])->orderBy('inputtime desc');
        $data['prev_page'] = $builder->limit(1)->get()->getRowArray();

        // 下一篇文章
        $builder = \Phpcmf\Service::M()->db->table($this->content_model->mytable);
        $builder->where('catid', (int)$data['catid'])->where('status', 9);
        $is_fstatus && $builder->where('fstatus', 1);
        $builder->where('inputtime>', (int)$data['inputtime'])->orderBy('inputtime asc');
        $data['next_page'] = $builder->limit(1)->get()->getRowArray();



本人非专业开发人员,求详细的解答,非常感谢。

回帖
  • 迅睿框架技术-刘和平
    #1楼    迅睿框架技术-刘和平
    2021-05-20 16:04:00
    Chrome 0
    Module.php是系统文件,头部已经注释了,不能修改他
  • 纷飞
    #2楼    纷飞
    2021-05-20 16:04:59
    Chrome 0
    迅睿框架技术-刘和平 您好,那需要去哪里修改那?
  • 迅睿框架技术-刘和平
    #3楼    迅睿框架技术-刘和平
    2021-05-20 16:05:49
    Chrome 0
    重写content类 ,需要有开发基础参考文档:《重写内容Content类》
  • 小波工作室--标签和API大师
    #4楼    小波工作室--标签和API大师
    2021-05-20 16:08:13
    Chrome 0
    我做过这种功能,重写content类才行,系统文件改不得
  • 稻草人
    #5楼    稻草人
    2021-05-20 16:11:00
    Chrome 0
  • 纷飞
    #6楼    纷飞
    2021-05-20 16:35:19
    Chrome 0
    稻草人 大侠,按您的方法已经成功,但是关于排序方式,还是不太清楚,是否可以麻烦帮看下:
    <?php namespace Phpcmf\Model\News;
    
    // 模块内容模型类
    class Content extends \Phpcmf\Model\Content {
           // 格式化处理内容
        public function _call_show($data) {
        
        $inputtime = $data['inputtime'];
        // 上一篇文章2
    $builder = $this->db->table($this->mytable);
    $builder->where('catid', (int)$data['catid'])->where('status', 9);
    $builder->where('inputtime>', $inputtime)->orderBy('inputtime desc');
    $data['prev_page2'] = $builder->limit(1)->get()->getRowArray();
    
    // 下一篇文章
    $builder = $this->db->table($this->mytable);
    $builder->where('catid', (int)$data['catid'])->where('status', 9);
    $builder->where('inputtime<', $inputtime)->orderBy('inputtime asc');
    $data['next_page2'] = $builder->limit(1)->get()->getRowArray();
            return $data;
        }
    }
    页面show的调用:
            <div class="container">
                {if $next_page2}
                <a class="newss-ctrl-l" href="{$next_page2.url}"><img src="{THEME_PATH}gaoduan/img/ctrl-one-img-l.png">
                    <span class="words">上一篇:{$next_page2.title}</span>
                </a>
                {else}
                <a class="newss-ctrl-l" style="pointer-events: none;opacity:0.5"><img src="{THEME_PATH}gaoduan/img/ctrl-one-img-l.png">
                    <span class="words">上一篇:没有了</span>
                </a>
                {/if}
                
                {if $prev_page2}
                <a class="newss-ctrl-r" href="{$prev_page2.url}"><img src="{THEME_PATH}gaoduan/img/ctrl-one-img-r.png">
                    <span class="words">下一篇:{$prev_page2.title}</span>
                </a>  
                {else}
                <a class="newss-ctrl-r" style="pointer-events: none;opacity:0.5"><img src="{THEME_PATH}gaoduan/img/ctrl-one-img-r.png">
                    <span class="words">下一篇:没有了</span>
                </a> 
                {/if}
            </div>
    问题描述:现在排序确实有变化,应该是已经可以作用到该区域,但是按照“录入时间”排序,还是未实现。