Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voici l'architecture d'un de mes modules :
application ----modules --------default ------------public ----------------forms ----------------controllers --------------------IndexController.php --------------------ErrorController.php ----------------views ------------admin ----------------forms ----------------controllers --------------------IndexController.php ----------------views ------------models ------------configs ------------languages
Je souhaite garder cette structure pour mes modules.
Pour l'utiliser, j'ai ajouté dans mon boostrap :
$frontController = Zend_Controller_Front::getInstance(); $frontController->addModuleDirectory("/modules"); $frontController->setModuleControllerDirectoryName('public/controllers');
Le problème c'est que j'ai cette erreur : Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)'
Il ne trouve pas mes controllers alors que je lui donne le bon dossier...
Merci d'avance pour votre aider
Hors ligne
biensur qu'il ne trouve pas, ton dossier de controllers c'est /controllers et pas public/controllers
Dans ton cas, il va chercher /modules/:module/public/controllers/...
C'est /modules/:module/controllers/... qu'il te faut.
Hors ligne
Bonjour
justement je veux que zend cherche mes controllers dans /modules/:module/public/controllers/
c'est la ou je ne comprend pas l'erreur...
la structure est assez spéciale mais j'ai besoin de separer mes controllers frontend (public) et backend (admin) dans chaque module
Hors ligne
pardon, j'avais louché sur ta structure.
Essai d'inversé l'appel à addModuleDirectory et setModuleControllerDirectoryName
Hors ligne
Ça ne marche pas toujours la même erreur
Hors ligne
Bonjour, votre architecture introduit des sous-modules, je pense qu'il faut remplacer modules/default/public et modules/default/admin par modules/public et modules/admin.
Si vous voulez absolument garder ces répertoires il faut alors utiliser: $frontController->addModuleDirectory("/modules/default");
En recréant l'application avec zend_tool (zf) vous obtiendriez cette architecture :
application ----models ----configs ----languages ----modules --------public ------------forms ------------controllers ----------------IndexController.php ----------------ErrorController.php ------------views --------admin ------------forms ------------controllers ----------------IndexController.php -------------views
Hors ligne
Pages: 1