CodeIgniter User Guide Version 1.7.2


페이지네이션 Pagination Class

CodeIgniter의 페이지네이션 클래스는 매우 사용하기 쉽답니다. 100% 커스터마이징 가능합니다. 커스터마이징은 동적으로 할수도 있고, 설정을 저장할수도 있습니다.

"페이지네이션" 이라는 말에 익숙하지 않으신가요 ? 바로 아래와같이 페이지 이동을위한 링크를 뜻하는 말이랍니다:

« First  < 1 2 3 4 5 >  Last »

예제 Example

컨트롤러 함수내에서 어떻게 페이지를 생성하는지 보여주는 예제입니다:

$this->load->library('pagination');

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = '200';
$config['per_page'] = '20';

$this->pagination->initialize($config);

echo $this->pagination->create_links();

참고:

$config 배열에는 설정값들이 들어갑니다. 위와 같이 그배열을 $this->pagination->initialize 함수에 넘겨줍니다. 20개정도의 설정 아이템들이 있지만, 위에서 보여준것은 그중에서 반드시 필요한 세가지 입니다. 아래는 각 아이템에대한 설명입니다:

보여줄 페이지네이션이 없을경우create_links() 함수는 빈 문자열을 리턴합니다.

설정을 설정파일에 저장하기 Setting preferences in a config file

설정을 위처럼 하지않고, 설정파일에 저장할수도 있습니다.pagination.php 파일을 만든후 $config 배열을 추가하세요. 그런후 파일을 config/pagination.php 에 저장하시면, 자동으로 불러지게 됩니다.설정파일로 저장하면 $this->pagination->initialize 함수를 호출할 필요가 없습니다.

페이지네이션 커스터마이징 하기 Customizing the Pagination

아래는 페이지네이션이 어떻게 보여질지에 대한 설정(preferences) 목록입니다.

$config['uri_segment'] = 3;

페이지네이션 함수는 페이지 번호를 URI 세그먼트의 어느부분에 포함시킬지 자동으로 결정합니다. 여러분이 직접 지정하고싶으면 위 설정을 사용합니다.

$config['num_links'] = 2;

선택된 페이지번호 좌우로 몇개의 숫자링크를 보여줄지 설정합니다. 예를들어, 2 는 본 페이지의 맨위에있는 예제와 같이 양쪽에 2개의 숫자링크를 보여줍니다.(즉 숫자는 5개가 되겠죠 )

$config['page_query_string'] = TRUE

기본값으로, 페이지네이션 라이브러리는 여러분이 URI세그먼트(Segments)를 사용한다고 가정합니다. 그리고 링크를 아래처럼 생성합니다.

http://example.com/index.php/test/page/20

$config['enable_query_strings'] 을 TRUE 로 설정하면, 링크는 자동으로 쿼리스트링(Query Strings) 형식으로 바뀝니다. 이 옵션은 명시적으로 설정할수도 있습니다. $config['page_query_string'] 이 TRUE 일때 페이지네이션 링크는 아래처럼 바뀝니다.

http://example.com/index.php?c=test&m=page&per_page=20

"per_page"는 기본적으로 전달되는 쿼리스트링입니다. 그러나 $config['query_string_segment'] = 'your_string' 를 통해서 여러분이 설정할수도 있습니다.

감싸는 태그 추가하기 Adding Enclosing Markup

페이지네이션 전체에 감싸는 태그를 추가하고싶으면 아래와 같이 합니다:

$config['full_tag_open'] = '<p>';

페이지네이션 왼쪽에 위치할 여는태그입니다.

$config['full_tag_close'] = '</p>';

페이지네이션 오른쪽에 위치할 닫는태그 입니다.

"처음으로"링크 커스터마이징 Customizing the First Link

$config['first_link'] = 'First';

페이지네이션 맨 왼쪽에 위치할 "처음으로" 링크 글을 설정합니다.First 대신 "처음","맨처음" 등을 쓰시는게 좋겠지요 :)

$config['first_tag_open'] = '<div>';

"처음으로"링크의 여는태그 입니다.

$config['first_tag_close'] = '</div>';

"처음으로"링크의 닫는태그 입니다.

"끝으로"링크 커스터마이징 Customizing the Last Link

$config['last_link'] = 'Last';

페이지네이션 맨 오른쪽에 위치할 "끝으로" 링크 글을 설정합니다.

$config['last_tag_open'] = '<div>';

"끝으로"링크의 여는태그 입니다.

$config['last_tag_close'] = '</div>';

"끝으로"링크의 닫는태그 입니다.

"다음" 링크 커스터마이징 Customizing the "Next" Link

$config['next_link'] = '&gt;';

"다음" 링크 글을 설정합니다.

$config['next_tag_open'] = '<div>';

"다음"링크의 여는태그 입니다.

$config['next_tag_close'] = '</div>';

"다음"링크의 닫는태그 입니다.

"이전"링크 커스터마이징 Customizing the "Previous" Link

$config['prev_link'] = '&lt;';

"이전" 링크 글을 설정합니다.

$config['prev_tag_open'] = '<div>';

"이전"링크의 여는태그 입니다.

$config['prev_tag_close'] = '</div>';

"이전"링크의 닫는태그 입니다.

"현재페이지"링크 커스터마이징 Customizing the "Current Page" Link

$config['cur_tag_open'] = '<b>';

"현재페이지"링크의 여는태그 입니다.

$config['cur_tag_close'] = '</b>';

"현재페이지"링크의 닫는태그 입니다.

링크숫자 커스터마이징 Customizing the "Digit" Link

$config['num_tag_open'] = '<div>';

링크숫자 링크의 여는태그 입니다.

$config['num_tag_close'] = '</div>';

링크숫자 링크의 닫는태그 입니다.