2012-05-07 3 views
0

Моего приложение Зенда первоначально было создано как это:Как получить доступ к контроллеру в модуле ZEND

приложение - контроллер - модель - вид

Теперь я хочу, чтобы настроить его для использования модулей структур, поэтому я изменил его так: приложение - модули - по умолчанию - контроллер - модель - вид - тест - контроллер - модель - вид Кроме перемещения всех файлов в правой структуре, просто добавьте следующие строки в файл конфигурации: resources.frontController.moduleDirectory = APPLICATION_PATH «/ модулей» resources.modules [] = «» и добавьте файл Bootstrap для каждого модуля.

Поскольку я переместил все текущие контроллеры в модуль по умолчанию, я могу выполнить приложение в порядке. Однако я не могу получить доступ к новому контроллеру в новом тестовом модуле. Я что-то упускаю? Нужно ли мне что-то менять в config или bootstrap?

Например, я создал новый контроллер в тестовом модуле TestController, и когда я перехожу к localhost/test/test, я получаю сообщение об ошибке: «EXCEPTION_NO_CONTROLLER».

ответ

0

возможно проверить модуль начальной загрузки маршрутов

class Transfer_Bootstrap extends Zend_Application_Module_Bootstrap 
    { 

    public function _initModuleRoutes() 
    { 
     $this->bootstrap('FrontController'); 
     $frontController = $this->getResource('FrontController'); 
     $router = $frontController->getRouter(); 

     $route = new Zend_Controller_Router_Route(
      'modulename/:action/*', 
      array(
        'module' => 'modulename', 
        'controller' => 'modulecontroller', 
        'action' => 'index' 
      ) 
     ); 
     $router->addRoute('routename', $route); 

     return $router; 
    } 
+0

Я добавил эту функцию в файл модуля bookstrap, но я все еще получаю ту же ошибку «Неверный контроллер указано». Похоже, он распознает модуль, но не контроллер. –

Смежные вопросы