2010-07-17 3 views
5

내 케이크 애플리케이션에 컨트롤러 "completed_projects"가 있습니다. 그것의 인덱스 동작은 인수를 취하지 않으며 몇몇 프로젝트를 나열합니다. 다른 페이지 내가 URL을 같이 만들고 싶어 example.com/completed_projects/index/page:23CakePHP에서 명명 된 인수에 대한 경로 설정

에 액세스 할 수 있습니다 :

example.com/portfolio/page23 

가 분명히 나는이에 대한 몇 가지 경로를 확인해야합니다.

Router::connect('/portfolio/:page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('named'=>'num', 'page'=>'page', 'num'=>'[0-9]+')); 

가 나는 또한 또 다시 수정 시도했지만 그들 중 누구도 잘 작동하지 : 또한

Router::connect('/portfolio/page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('pass'=>'page:num', 'num'=>'[0-9]+')); 

과 : 나는 그들 중 많은 사람들이 좋아하는 시도했습니다.

저는 CakePHP 1.3을 사용하고 있습니다. 어떤 도움을 주시면 감사하겠습니다. 컨트롤러에서

답변

1
Router::connect('/portfolio/page:page_num', 
    array('controller'=>'completed_projects', 'action'=>'index'), 
    array('page_num'=>'[\d]+') 
); 

는 액세스 PAGE_NUM 함께 :

$this->params['page_num']; 
+0

이 작업에 (23 등) PAGE_NUM를 전달하지만 난 명명 된 매개 변수 페이지처럼 전달되는 것을 원하는 : (2)가 전달됩니다. 어쨌든 도움을 주셔서 감사합니다. –

+0

죄송합니다. 원하시는대로 답변을 업데이트하십시오 :) – Oscar

+0

Thanks again Oscar. 이 (또는 어떤) 변수가 어떻게 페이지 매김에 사용되는지 자세히 설명해 주시겠습니까? 컨트롤러에서 전달 된 변수 만 가져 오는 것은 필수 사항이 아닙니다. 나는 그것을 페이징 (pagination)을 위해 사용할 수 있도록 인자 (page : 33과 같이)로 명명되기를 원한다. 심지어 가능할까요? –