페이지네이션 업그레이드

문서

변경된 사항

  • 새 페이지네이션 라이브러리를 사용하려면 뷰와 컨트롤러를 모두 변경해야 합니다.

  • 페이지네이션 링크를 커스터마이즈하려면 뷰 템플릿을 만들어야 합니다.

  • CI4의 페이지네이션은 실제 페이지 번호만 사용합니다. CI3에서 기본값인 항목의 시작 인덱스(오프셋)는 사용할 수 없습니다.

  • CodeIgniter\Model을 사용하면 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);