【问题标题】:CodeIgniter Pagination links formatCodeIgniter 分页链接格式
【发布时间】:2014-08-28 02:02:09
【问题描述】:

我使用的是codeigniter的默认分页

< 1 2 3 4 >

但我想变成这种格式

< 1-10 11-20 21-30 >

有什么想法吗?

【问题讨论】:

    标签: php codeigniter pagination


    【解决方案1】:

    好问题:您需要将代码 system/CI_Pagination.php 库扩展为 application/library/MY_Pagination.php

    @Dan 的数学计算很好,设置到CI 分页库,见下文

    1)创建文件到application/library/MY_Pagination.phpmore info关于创建库

    从自定义方法覆盖create_links()方法,见下文

    修改代码部分在create_links()方法

    if ($this->cur_page === $loop){
        // Current page
        $output .= $this->cur_tag_open.($this->cur_page == 1 ? $loop : $loop*($this->per_page)+1).'-'.($loop * $this->per_page).$this->cur_tag_close;
    }elseif ($i === $base_page){
     // First page
        $output .= $this->num_tag_open.'<a href="'.$first_url.'"'.$attributes.$this->_attr_rel('start').'>'
                   .((($loop)*($this->per_page) - $this->per_page)+1) .'-'. ($loop * $this->per_page).'</a>'
                   .$this->num_tag_close;
    }else{
         $append = $this->prefix.$i.$this->suffix;
         $output .= $this->num_tag_open.'<a href="'.$base_url.$append.'"'.$attributes.$this->_attr_rel('start').'>'
                   .((($loop)*($this->per_page) - $this->per_page)+1) .'-'. ($loop * $this->per_page)
                   .'</a>'.$this->num_tag_close;
    }
    

    完整的 MY_Pagination.php 文件行号 (577-592) click here

    注意我使用的是最新的核心文件,所以请在当前文件中使用您的修改

    【讨论】:

    • 这不是应该在 core/MY_Pagination.php 中吗?
    • application/library/MY_Pagination.php 创建新文件。
    • 致命错误:在第 125 行的 /usr/local/www/game-yoyaku.atwiki/htdocs/application/libraries/MY_Pagination.php 中的非对象上调用成员函数 segment()
    • 您是否从自己的system/CI_pagination.php 文件中复制了create_link() 方法?你必须是旧版本的CI所以你应该使用自己的文件(system/CI_pagination.php)代码
    • 是的..我解决了这个问题,它显示错误的分页
    【解决方案2】:

    做一些简单的数学调整,例如$x = 1

    第 1 页不是 $x 第 1 页是:

    <?php echo $x.'-'.($x * 10); ?>
    

    第 2 页及以上为:

    <?php 
        $x++;
        echo (($x)*10)-10)+1.'-'.($x * 10);
    ?>
    

    $x++ 对每个显示进行计数。

    【讨论】:

    • no...CodeIgniter 库不可能,而 OP 不会修改库
    • 应该是可以的。 OP 只是询问显示,单击时传递给 URI 的值可能与显示的不同。正如in the docs 提到的,它是“100% 可定制的”。
    • 页面链接由create_link函数创建,他需要将库扩展为application/library/MY_Pagination.php并通过自定义方法覆盖方法,其中集成了自定义代码,了解更多信息ellislab.com/codeigniter/user-guide/general/…
    • 是的,所以基本上我如何使用 CI 做到这一点?
    • @Girish 我将如何修改这些链接?我应该更改什么配置选项?
    猜你喜欢
    • 2014-01-29
    • 1970-01-01
    • 2012-05-14
    • 2013-11-17
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多