升级分页

文档

变更内容

  • 要使用新的分页类,必须同时修改视图和控制器。

  • 如果要自定义分页链接,则需要创建视图模板。

  • 在 CI4 中,分页仅使用实际页码。不能再像 CI3 的默认行为那样,使用条目的起始索引(偏移量)。

  • 如果使用 CodeIgnite\Model,则可以使用模型类中的内置方法。

升级指南

  1. 在视图中做如下修改:

    • <?php echo $this->pagination->create_links(); ?> 改为 <?= $pager->links() ?>

  2. 在控制器中做如下修改:

    • 可以在任何模型上使用内置的 paginate() 方法。请参见下面的代码示例,了解如何在特定模型上设置分页。

代码示例

CodeIgniter 3.x 版本

<?php

$this->load->library('pagination');
$config['base_url']    = base_url().'users/index/';
$config['total_rows']  = $this->db->count_all('users');
$config['per_page']    = 10;
$config['uri_segment'] = 3;
$config['attributes']  = array('class' => 'pagination-link');
$this->pagination->initialize($config);

$data['users'] = $this->user_model->get_users(FALSE, $config['per_page'], $offset);

$this->load->view('posts/index', $data);

CodeIgniter 4.x 版本

<?php

$model = new \App\Models\UserModel();

$data = [
    'users' => $model->paginate(10),
    'pager' => $model->pager,
];

return view('users/index', $data);