Page 2로 이동할 때 Paginator가 내 사용자 정의 매개 변수를 기억하지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/147995

  •  02-07-2019
  •  | 
  •  

문제

CakePHP보기에서 Paginator 도우미를 사용할 때는 URL의 일부를 제 사용에 대해 사용자 정의하는 부분을 기억하지 못합니다.

예를 들어:

http://example.org/users/index/moderators/page:2/sort:name/dir:asc

여기 중재자 해당 유형의 필터링에 도움이되는 매개 변수입니다. 그러나 페이지 핀터 링크를 누르면이 링크가 포함되지 않습니다.

도움이 되었습니까?

해결책

위의 Alexander Morland의 답변에 추가하려면 구문이 CakePHP 1.3에서 변경되었으며 현재는 다음과 같습니다.

$this->Paginator->options(array('url' => $this->passedArgs));

이것은 더 자세히 설명되어 있습니다 관점에서의 페이지 매김 Cakephp 책의 섹션.

다른 팁

비밀은이 라인을 당신의 견해에 추가하는 것입니다.

$ paginator-> 옵션 (배열 ( 'url'=> $ this-> passedargs));

(나는이 질문과 대답이 많이 묻는 질문이기 때문에이 질문과 대답을 만들었고 나는 그것을 기억할 수 없기 때문에 계속해서 답을 파헤쳐 야한다.)

$ this-> passedargs는보기에서이를 수행하는 선호하는 방법입니다.

넌 나를 구했다! 이것은 나에게 많은 도움이되었습니다. 감사합니다.

Post ($ this-> data)를 통해 원래 보낸 매개 변수를 페이징 구성 요소로 전달하는 방법이 필요했기 때문에 사용자 정의 쿼리가 계속 사용됩니다.

여기에 내가 한 일은 다음과 같습니다.

내 견해로는 내가 넣었다

$paginator->options(array('url'=>$this->data['Transaction']));

$ paginator-> prev ( '<< 이전'물건.

이렇게하면 ".../page : 1/start_date : 2000-01-01%2000 : 00 : 00/end_date : 3000-01-01%2023 : 59 : 59/payments_recieved : 1 "

그런 다음 내 컨트롤러에서 매개 변수를 가져 와서 $ this-> 데이터에 넣어 내 함수가 평소와 같이 계속됩니다.

foreach($this->params['named'] as $k=>$v)
{
    /*
     * set data as is normally expected
     */
    $this->data['Transaction'][$k] = $v;
}

그리고 그게 다야. 페이징은 내 사용자 정의 쿼리와 함께 작동합니다. :)

여기의 옵션은 좋은 리드입니다 ... CakePhp Pagination에서 CakePhp.org/view/166/pagination-in-views에 대한 자세한 정보를 확인할 수도 있습니다.

해당 매개 변수 'URL'을 사용하면 url의 문자열 페이지 화 전에 선호하는 문자열을 넣을 수 있습니다 ..

이 tecnique를 사용한다면 :

$urlpagin = '?my_get1=1&my_get2=2';
$paginator->options = array('url'=>$urlpagin);

나는 단지 얻는다 :

url/controller/action/?my_get1=1&my_get2=2/sort:.../...

그리고 케이크는 내 get 매개 변수를 잃었습니다

대체 Tecnique가 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top