2012-04-14 3 views
-1

Pro Zend Framework 기술에 따라 modules 디렉토리에 'Contact'모듈을 만들었습니다. 다음은 디렉토리 구조입니다.zend 프레임 워크의 모듈이 인덱스 컨트롤러를로드하지 않음

 

    protected function _initAutoLoad(){ 
    $autoLoader = Zend_Loader_Autoloader::getInstance(); 
    $autoLoader->registerNamespace('CMS_'); 
    $resourceLoader = new Zend_Loader_Autoloader_Resource(
    array('basePath' => APPLICATION_PATH , 'namespace' => '' , 
    'resourceTypes' => array('form' => array('path' => 'forms/' , 'namespace' => 'Form_') , 
    'model' => array('path' => 'models/' , 'namespace' => 'Model_')))); 

    return $autoLoader; 
    } 

모듈의 부트 스트랩 파일 인 :

 

    class Contact_Bootstrap extends Zend_Application_Module_Bootstrap 
    { 
    protected function _initAutoLoad(){ 
    $autoloader=new Zend_Application_Module_Autoloader(array('namespace'=>'Contact_', 
    'basePath'=>dirname(__FILE__),)); 
    return $autoLoader; 
    } 
    } 

애플리케이션 아래와 같이

 

    |_application 
    |_Configs 
     |_application.ini 
    |_controllers 
    |_modules 
     |_Contact 
      |_Controllers 
      |_IndexController 
      |_models 
      |_views 
      Bootstrap.php 

    Bootstrap.php 

는 애플리케이션 디렉토리의 부트 스트랩 파일은 _initAutoload() 함수를 갖는다 구성 폴더의 .ini 파일에는 모듈 '연락처'를 설정하기위한 다음 줄이 있습니다.

 

    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
    resources.modules[] = "" 
    contact.resources.frontController.defaultControllerName = "index" 

오류를 표시하는 getmessage() 함수가있는 응용 프로그램 오류 컨트롤러를 설정했습니다. 내가 http://localhost/zf_cms/public/contact을로드하려고 할 때 오류를 제공합니다

 

    getMessage() : Invalid controller specified (index) 

모듈 -> contact-> 컨트롤러의 인덱스 컨트롤러의 이름은 Contact_IndexController입니다. 또한 인덱스 컨트롤러에 대한 뷰를 만들었습니다.

일부 정보를 놓친 경우 버그를 찾아 알려주세요. 감사합니다.

답변

1

모듈 및 컨트롤러 디렉토리의 이름을 소문자로 변경하십시오. 그리고 그것은 당신의 IndexController에 .php 확장자를 추가하지 않는다고 생각됩니다.

+0

대단히 감사합니다. 모듈 디렉토리의 이름을 소문자로 바꾸어야했습니다. –

관련 문제