2009-06-10 5 views
0

ZF 1.8 프로젝트에서 모듈을 사용하려하지만 모듈 작업에 대한 라우팅을 작동시킬 수 없습니다. 'TTT를 I가 diretory 생성 (모듈 디렉토리 initilaizeZendFramework에서 모듈 사용하기 1.8.2

$router->addRoute(
    $name, 
    new Zend_Controller_Router_Route('test', 
     array('controller' => 'ttt', 
       'module' => 'test', 
       'action' => 'index')) 
); 

: 여기

내가'테스트 '제어기'TTT '액션'인덱스 '모듈 가리키는 "/ 테스트"경로를 생성하는 예이다 메시지 : "

$front->addModuleDirectory(dirname(__FILE__) . '/modules'); 

을하지만 같은 오류가 받고 있어요 example.com/test처럼 내가 URL을 열 때, 필요한 컨트롤러와 뷰 클래스) 부트 스트랩 동안 그것을 지정"지정된 잘못된 컨트롤러 (TTT) "를.

예제에 어떤 문제가 있습니까?

고정.

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

답변

3

기본 모듈에없는 컨트롤러의 경우 컨트롤러 클래스 이름 앞에 모듈 이름과 밑줄을 붙여야합니다.

class Test_TttController extends Zend_Controller_Action 
{ 

} 
+0

맞습니다. 클래스 이름을 그런 식으로 지정해야하며 application.ini도 리소스로 채워야합니다. frontController.moduleDirectory 매개 변수 Bootstrap.php에서이 매개 변수를 설정하는 몇 가지 이유 때문에 작동하지 않습니다. 또한 zf.sh가 모듈의 파일에 대한 코드를 잘못 생성합니다. –

+0

그래, 분명히 준비가되어 있지 않아서 1.8 버전의 Zend_Tool을 포함해서는 안됩니다. 믿음을 가지십시오, 그것은 곧 분류 될 것입니다 :) –

0

당신이 다른 컨트롤러 클래스 파일을 복사하여 이름을 변경하고 파일 내부에 TttController에 클래스 선언을 변경 잊은 : 는 application.ini에 다음 줄을 추가? 컨트롤러가 실제로 존재한다면 오류 메시지가 나타날 것입니다. 다음과 같이 확인하십시오.

class TttController extends Zend_Controller_Action 
{ 
... 

물론 나는 꺼져있을 수 있습니다.

+0

아니, ZF 도구를 사용하여 컨트롤러를 만들었습니다. 괜찮아. –

+0

Zend_Tool은 내가 아는 한 꽤 버그가 있습니다. 그래서 올바른 이름으로 올바른 파일을 생성했는지 다시 확인하십시오. –

+0

네, 벌써 두 벌레를보고했습니다. 몇 분 전에 또 다른 벌레를 발견했습니다. 그래서 항상 생성 된 코드를 확인합니다. 그것은 단지 작동하지 않습니다 그래서 나는 1.8 버전의 버그라고 생각합니다. –