ページネーションのアップグレード

ドキュメント

変更点

  • 新しいページネーションライブラリを使用するには、ビューとコントローラーを変更する必要があります。

  • ページネーションリンクをカスタマイズする場合は、ビュテンプレートを作成する必要があります。

  • 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);