Problema con zend router

Ciao a tutti, sto implementando una applicazione con zend framework basata su moduli.

La mia struttura è la seguente:

application/

     config/

     modules/

           default/

               controllers/

               models/

               views/

               bootrap.php

           admin/

               controllers/

               models/

               views/

               bootrap.php

     bootrap.php

nel file di boostrap sotto application ho messo il seguente codice:

<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
   protected function _initAutoloader()
    {
      $frontController = Zend_Controller_Front::getInstance();
      //Setup to module, one default and other admin
      $frontController->setControllerDirectory(
         array (
            'default'=> APPLICATION_PATH . '/modules/default/controllers',
            'admin'   => APPLICATION_PATH . '/modules/admin/controllers',
            )
      );
      
      $routeDefault = new Zend_Controller_Router_Route(
         ':module/:controllers/*',
         array(
               'module'     => 'default'
          )
      );
      $routeAdmin = new Zend_Controller_Router_Route(
         'admin/:controllers/*',
         array(
               'module'     => 'admin'
          )
      );
      
      $frontController->getRouter()->addRoute('default', $routeDefault); 
      $frontController->getRouter()->addRoute('admin', $routeAdmin); 
   }
   
   protected function _initAutoloaderNamespace()
    {
      $loader = Zend_Loader_Autoloader::getInstance();
      $loader->registerNamespace('My_'); // esempio del nome delle vostre librerie
      $loader->suppressNotFoundWarnings(false);
    }
   
   protected function _initPlugins()
   {
      if ($this->hasPluginResource('modules')) {
        $this->bootstrap('modules');
        $this->bootstrap('frontController');
        $bootstraps = $this->getResource('modules');
        $front = $this->getResource('frontController');
        
        $front->registerPlugin(new Zend_Controller_Plugin_ErrorHandler(array(
            'module'     => 'default',
            'controller' => 'error',
            'action'     => 'error'
        )));

        $plugin = new My_Plugin_ModuleLazyInit($bootstraps);
        $front->registerPlugin($plugin);
      }
    }   
}
?>

gli altri bootrap sono vuoti. ora sucecde che quando accedo al modulo di default è tutto ok, ma quando accedo al modulo admin mi chiede il controller Admin_IndexController, mentre io ho il controller IndexController.

La mia domanda è: perche quell'Admin_ davanti????

inviato 7 anni fa
reve
reve
1
X 0 X

Aggiungi "Admin_" ad IndexController del modulo admin...vedi se da l'errore.

risposto 7 anni fa
Mario Santagiuliana
X 0 X

No con l'admin non da errore...

risposto 7 anni fa
reve
reve
1
X 0 X

Devi aggiungere "Admin_" o "Nomemodulo_" per i moduli.

Qui c'è la documentazione:

http://framework.zend.com/manual/en/zend.controller.modular.html

risposto 7 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda