【问题标题】:Overwrite Codeigniter Pagination total_rows覆盖 Codeigniter 分页 total_rows
【发布时间】:2018-02-10 01:41:44
【问题描述】:

到目前为止,我已设置 CI 分页并按预期工作。正如 CI 文档中所建议的那样,我正在使用分页配置文件。我选择这样做是为了保持控制器整洁。我遇到的问题是我不知道如何访问和覆盖 total_rows 变量。

例如,我在配置文件中将变量设置为 200。在我的应用程序中,记录数会更高。我想在控制器中本地动态修改变量。

我可以使用“print_r($this->pagination);”查看对象内容(如下)

CI_Pagination Object
(
    [base_url:protected] => http://moxietek.com/mx03/index.php/user/index/
    [prefix:protected] => 
    [suffix:protected] => 
    [total_rows:protected] => 200
    [num_links:protected] => 3
    [per_page] => 20
    [cur_page] => 0
    [use_page_numbers:protected] => 
    [first_link:protected] => First
    [next_link:protected] => Next
    [prev_link:protected] => Previous
    [last_link:protected] => Last
...)

在分页问答中,每个都使用控制器中的配置设置。我可以做到这一点,一切都会奏效,但我最终想为其他控制器重用分页配置。谢谢。

【问题讨论】:

    标签: php codeigniter pagination


    【解决方案1】:

    似乎配置数组项键将被您传递给初始化的任何元素覆盖:

    $this->load->library('pagination');
    
    $config['total_rows'] = 50;
    
    $this->pagination->initialize($config);
    
    echo $this->pagination->create_links();
    

    因此,虽然total_rows 覆盖了/config/pagination.php,但其他变量集不会被覆盖。

    【讨论】:

    • 感谢亚历克斯的回复。我用了你的建议,它奏效了。奇怪的是,虽然初始化清除了“属性”设置,所以我的 CSS 被淘汰了。我可以通过移动 '$config['attributes'] = array("class" => "page-link rounded-0 mw25px");' 来纠正这个问题到控制器 - 很简单。感谢你的帮助。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2020-12-11
    • 1970-01-01
    相关资源
    最近更新 更多