2011-09-06 6 views
1

내가 라우터를 생성 /page/list/general/0/1에 아무것도 할 때마다 I 탐색을 수행되지 않습니다젠드 프레임 워크는

public function _initRouting() {   
    // Get Front Controller Instance   
    $front = Zend_Controller_Front::getInstance(); 
    // Get Router 
    $router = $front -> getRouter(); 
    $routePage = new Zend_Controller_Router_Route('/page/:action/:cat/:parent/:id', array(
     'controller' => 'page', 
     'action' => 'list', 
     'cat'  => 'general', 
     'parent' => '0', 
     'module' => 'default' 
    )); 
    $router -> addRoute('page', $routePage); 
} 

먼저이 라우터와 같은 컨트롤러에 추가 지정, 그것은 표준 소요 새로운 노선이 아닌 새로운 노선.

답변

0

내가 생각할 수있는 유일한 점은 프런트 컨트롤러 리소스가 init 메소드보다 "부트 스트랩"되지 않았다는 것입니다.

당신은 적어도 부트 스트랩 및

protected function _initRouting() 
{ 
    $this->bootstrap('frontController'); 
    $front = $this->getResource('frontController'); 
    // etc 

은 왜 그냥 부트 스트랩 init 메소드를 작성 생략하고 응용 프로그램 설정에서 라우터 리소스를 구성하지 않은 전면 컨트롤러 리소스를 검색해야? 테스트 용으로

resources.router.routes.page.route = "page/:action/:cat/:parent/:id" 
resources.router.routes.page.defaults.module = "default" 
resources.router.routes.page.defaults.controller = "page" 
resources.router.routes.page.defaults.action = "list" 
resources.router.routes.page.defaults.cat = "general" 
resources.router.routes.page.defaults.parent = "0" 

, I는 상기 구성을 첨가하고,이 listAction

public function listAction() 
{ 
    Zend_Debug::dump($this->getRequest()->getParams()); 
    exit; 
} 

시도 page/list/general/0/1 수율

array(6) { 
    ["action"] => string(4) "list" 
    ["cat"] => string(7) "general" 
    ["parent"] => string(1) "0" 
    ["id"] => string(1) "1" 
    ["module"] => string(7) "default" 
    ["controller"] => string(4) "page" 
} 
+0

호출와 PageController 생성 너무 여전히 일어나고 .. – mrN

+0

@mrN 귀하의 문제를 복제 할 수 없습니다 (편집 된 답변 참조). 다른 경로가 정의되어 있습니까? – Phil

+0

예, 다른 경로도 정의되어 있지만 모든 경로마다 별도의 이름을 부여하고 있습니다. 따라서 클래스를 분류해야한다고 생각하지 않습니다. – mrN