2010-01-12 8 views
0

저는 CI 문서 (특히 http://codeigniter.com/user_guide/libraries/pagination.html)를 탐색하고 있습니다.codeigniter 페이지 매김 커스터마이징

가장 먼저 떠오른 것은 "CodeIgniter의 페이지 매김 클래스는 매우 사용하기 쉽고 동적 또는 저장된 환경 설정을 통해 100 % 사용자 정의 할 수 있습니다." 그러나 항상 무언가가 있습니다.

내 페이지 매김은 다음과 같습니다. Previous 1 2 3 4 ... n Next 이제 각각에 대해 컨트롤러에서 여는 html 태그를 만들고 html 태그를 닫을 수 있습니다. 예를 들어

:

이전

$config['prev_tag_open'] = '<div class="previous">'; 

The opening tag for the "previous" link. 
$config['prev_tag_close'] = '</div>'; 

다음

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

The opening tag for the "next" link. 
$config['next_tag_close'] = '</div>'; 

그리고 마지막으로 첫번째 등 지금 내 디자인에 나는 이전 플로트는 다음 플로트 좌우로 만들어 나는 <div class="middle_pager">이 중간에 모든 페이지 번호를 유지합니다.

설명서에서 볼 수 있듯이 CI에서 HTML 태그 사이에 모든 페이지 번호를 넣을 수있는 옵션이 없기 때문에 일부 태그 안에 각 페이지 번호를 넣을 수있는 옵션 만있을 수 있습니다. 요점을 놓쳤다. 아무도 도울 수 있니?

고맙습니다.

답변

2

트릭은 상자 밖에서 생각해야한다는 것입니다.

당신은 트릭을 할해야

$config['next_tag_open'] = '**</opening tag>**<div>'; 

The opening tag for the "next" link. 
$config['next_tag_close'] = '</div>'; 

처럼 "next_tag_open"에서의 당신의 "prev_tag_close"

$config['prev_tag_open'] = '<div class="previous">'; 

The opening tag for the "previous" link. 
$config['prev_tag_close'] = '</div>**<opening tag>**'; 

와 닫는 태그의 끝에 여는 태그를 추가해야합니다.

+0

정말로 굉장합니다. 감사합니다. – ant

1

문제가 거의 해결되지 않는 경우 첫 번째 페이지와 마지막 페이지에서이 상황을 어떻게 처리할까요? next_tag_open/close는 페이지 매김의 마지막 페이지에 나타나지 않으며 prev_tag_open/close는 페이지 매김의 첫 페이지에 나타나지 않습니다. 나는 오늘 아침이 같은 문제를했고, 정말 내가 함께했다. 유일한 해결책에 내 머리를하고 그래서이 분명이 페이지의 블록 요소를 모두

확인을 중단하게됩니다

(prefectly 작동) 이것입니다;

출력 주위 사업부 만들기 -

<div class="pagination2"> 
    <?php echo $link; ?> 
</div> 

그런 다음 주위에 자리 태그 (num_tag_open/닫기)를 둘러싸 이러한 태그를 사용하는 클래스가 제공하는 페이지 매김 태그를 사용합니다.

$config['full_tag_open'] = '<div class="pagination">'; $config['full_tag_close'] = '</div>'; $config['num_tag_open'] = '<p>; $config['num_tag_close'] = '</p>';

지금 CSS 뛰어 비교적 외측 블록 요소 pagination2를 배치하고 이동 절대적 이너 블록 등급 매김을 놓고, 그것을 중심하고는 절대 위치 넥스트 링크 밀어 음의 값을 사용하거나 원하는대로 요소를 prevlink. 내가 사용한 CSS에 대해서는 아래를보십시오.

.pagination2{ 
    position: relative; 
    right: -10px; 
    height: 45px; 
    width: 500px; 
    background-color:#f8f8f8; 
    border: 1px solid #d3d3d3;  
    outline:none; 
    } 

    .pagination{ 
    position: absolute; 
    left: 180px; 
    height: 35px; 
    width: 120px; 
    } 

    .pagination-button-previous{ 
    position: absolute; 
    top: 10px; 
    left: -160px; 
    width: 74px; 
    height: 24px; 
+0

스택 오버플로에 오신 것을 환영합니다! 이 답변을 완료 해 주셔서 감사합니다. –