2011-09-05 4 views
0

사용자가 정렬에 액세스하지 못하게하는 방법이 있습니까? paginator를 사용하면 필드 URL이 필요합니까? 나는 수백만 개의 행을 가지고 있기 때문에 정렬을 거부하고 인덱스되지 않은 필드를 정렬하는 것은 정말 느립니다.Paginator 정렬에 대한 사용자 액세스를 거부하는 방법?

+0

당신은 정말 * 수백만 *의를 paginating해야합니까 (당신은 그들 모두에서 제거해야합니다) 기록? 한 가지 옵션에 대해서는 [here] (http://nuts-and-bolts-of-cakephp.com/2011/03/17/speed-up-your-pagination-with-a-simple-hack/)를 참조하십시오 – Ross

+0

웃긴, 방금 그 일을 시도했기 때문에. 실제로 필자가 필요로하는 것이었지만 동일한 모델에서도 사용자 지정 페이지 매김 기능이없는 경우 모델에서 paginateCount를 사용하면 작동하지 않습니다. 아니면 시간이 지나면 생각했던 것. 그리고 나의 카운트 (*) 쿼리를 빠르게 처리 할 수있었습니다. 그러나 맞춤 페이지 매기기 기능을 사용하지 않고 사용하는 방법을 알고 있다면 공유하십시오. – Henri

답변

2

보기에서 페이징 링크를 제거하기 만하면됩니다. 그래서 <th><?php echo $this->Paginator->sort('name');?></th> 대신에 <th>Name</th>

사용자 이름을 정렬 할 수 있지만 보안 문제가 아닌 한 사용자는 여전히 괜찮습니다.

당신이 정말로 특정 열을 정렬 방지 또는 일부 열에만 허용 $this->params['url']$this->passedArgs를 필터링해야하는 경우

+0

우리는 다시 Anh Pham을 믿을 수 있습니다. paginator 링크를 제거하는 것은 꽤 쉬운 일 이었지만 params & passedArgs를 지적 해 주셔서 감사합니다. – Henri

관련 문제