2017-01-30 5 views
0

페이지 템플리트 탐색을 위해 페이지 매김기에 하이 잭을 사용할 수 있습니까? 예 : 다음/이전 URL 제공)?보기 템플리트 탐색에 페이지 매기기 사용

현재 페이지 당 1 행의 페이지 매김 기능이 있습니다. 나는 현재 뷰를 가리 키도록 URL을 수정하려고했지만 : page querystring 매개 변수 대신에 PK 행을 사용했습니다.

  1. , 방문 모델 매기기 URL을 입력 /보기/5
  2. 첫째 :

    • 다음 링크는 모델에 갈 것,보기// 6
    • 이전 링크를 모델로 갈 것/모델에 갈 것입니다,/4
    • 페이징 링크를보기 /보기/X

이것이 가능합니까? 이 방식으로 페이지 매김 URL을 재 작성할 수 있습니까?

답변

0

가능한 것이 좋습니다. 페이지 배열 도우미 링크를 생성 할 때 URL 배열에 page라는 이름의 키를 통해 페이지 번호를 설정하므로,

Router::connect('/model/view/:page', [ 
    'controller' => 'Models', 
    'action' => 'view' 
]); 

이 필요합니다 먼저 같은 page라는 이름의 루트 요소로 활용할 수있는 적절한 경로를 필요 . 경로에 해당 이름의 요소가 없으면 값은 쿼리 문자열로 끝납니다. 또한 page 요소를 전달 대상으로 표시하지 않는 것이 중요합니다. 그렇지 않으면 값이 페이지 매김 도우미가 생성하는 URL 배열에 들어가기 때문에 경로가 더 이상 일치하지 않게됩니다.

당신이해야 할 다른 일은 페이징 인 구성 요소가 요청 된 페이지 번호에 액세스 할 수 있는지 확인하는 것입니다. 기본적으로 구성 요소는 요청 쿼리 문자열 변수 또는 페이지 매김 옵션에서 값을 읽습니다. 사용자 정의 구성 요소 또는 확장 매기기 구성 요소에서이 이동할 수있는 뭔가 더 건조를 들어

$page = $this->request->param('page'); 
if ($page !== null) { 
    $this->paginate['page'] = $page; 
    // or 
    $this->request->query['page'] = $page; 
} 

// ... 

$result = $this->paginate(); 

: 그래서, 예를 들어 컨트롤러에 당신이 뭔가를 할 수 있습니다.

+0

흠 ... ... 추가 할 매개 변수 등이 기록되고 페이지 번호와 함께, 그것은 것입니다 지금은 불가능보기 그것을 북마크하고 동일한 데이터를 기대하십니까? 더 생각하면할수록 더 비현실적입니다. 페이지 네이션에서부터 URL 끝에 레코드의 PK를 제공하면서 링크를 구축 할 수 있다면 좋을 것입니다 ... – TekiusFanatikus

+0

북마크가 지원하고 싶은 것이 있다면, 이것은 아닙니다. 적합한 용액, 아니. 기본 키 또는 해당 열의 페이지 매김은 페이 지 네이터의 범위를 벗어나며 원래 질문과 매우 다른 작업입니다. @ 텍 키아 파나 티 쿠스 – ndm