联系官方销售客服

1835022288

028-61286886

求助 版主:论坛审计组
上一篇和下一篇我怎么让它们换一下顺序
类型:迅睿CMS 更新时间:2021-05-11 11:22:16 下一篇

上一篇和下一篇我怎么让它们换一下顺序,现在页面的数据应该是该显示在下一篇的,它显示到了上一篇,请问一下怎么解决?image.png

回帖
  • PHP码农
    #1楼    PHP码农
    2019-05-23 17:42:52
    1
    比如你发布了3篇文章,他们ID分别是123当前浏览1号文章时,他上一页是没有的,下一页是2当前浏览2号文章时,他上一页是1,下一页是3当前浏览3号文章时,他上一页是2,下一页是没有
  • 黑苹果
    #2楼    黑苹果
    2019-05-23 17:46:10
    1
    你把调用代码的位置对调一下不就可以了吗
  • aries
    #3楼    aries
    2019-05-23 17:48:05
    1
    PHP码农我想让它们顺序反过来,应该怎么修改?
    满意答案
  • 齐云电商
    #4楼    齐云电商
    2019-05-23 17:52:56
    1
    需要重写回调类以News模块为例,新建dayrui/App/News/Models/Content.php
    <?php namespace Phpcmf\Model\News;
    
    // 模块内容模型类
    
    class Content extends \Phpcmf\Model\Content {
    
       
        
        // 格式化处理内容
        public function _call_show($data) {
        // 上一篇文章2
    $builder = \Phpcmf\Service::M()->db->table($this->mytable);
    $builder->where('catid', (int)$data['catid'])->where('status', 9);
    $builder->where('id>', $id)->orderBy('id desc');
    $data['prev_page2'] = $builder->limit(1)->get()->getRowArray();
    
    // 下一篇文章
    $builder = \Phpcmf\Service::M()->db->table($this->mytable);
    $builder->where('catid', (int)$data['catid'])->where('status', 9);
    $builder->where('id<', $id)->orderBy('id asc');
    $data['next_page2'] = $builder->limit(1)->get()->getRowArray();
            return $data;
        }
    }

    调用标签后面也加一个2,就行了,不破坏系统文件
  • 齐云电商
    #5楼    齐云电商
    2019-05-23 17:57:58
    1
    改一下,有点不对
    <?php namespace Phpcmf\Model\News;
    
    // 模块内容模型类
    
    class Content extends \Phpcmf\Model\Content {
    
       
        
        // 格式化处理内容
        public function _call_show($data) {
        
        $id = $data['id'];
        // 上一篇文章2
    $builder = $this->db->table($this->mytable);
    $builder->where('catid', (int)$data['catid'])->where('status', 9);
    $builder->where('id>', $id)->orderBy('id 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('id<', $id)->orderBy('id asc');
    $data['next_page2'] = $builder->limit(1)->get()->getRowArray();
            return $data;
        }
    }
    show.html 写法是:
    <div class="blog-single-foot">
        <p class="fc-show-prev-next">
            <strong>上一篇:</strong>{if $prev_page2}<a href="{$prev_page2.url}">{$prev_page2.title}</a>{else}没有了{/if}<br>
        </p>
        <p class="fc-show-prev-next">
            <strong>下一篇:</strong>{if $next_page2}<a href="{$next_page2.url}">{$next_page2.title}</a>{else}没有了{/if}
        </p>
    </div>
  • aries
    #6楼    aries
    2019-05-23 18:04:06
    1
    齐云电商它直接跳页面了,其它发布都没有显示
  • PHP码农
    #7楼    PHP码农
    2019-05-23 18:07:12
    1
    这是最完美的方案齐云电商
  • 齐云电商
    #8楼    齐云电商
    2019-05-23 18:08:59
    1
    感谢,我最近在研究扩展类,所以这部分我比较熟悉了PHP码农
  • aries
    #9楼    aries
    2021-05-11 11:22:16
    Chrome 0
    @aries:11111111111111