Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Salut
j'ai un petit pb avec les modules
j'ai mis
$controller->addControllerDirectory('application/module/controller', 'adim');
dans mon controller
j'ai placé un dossier application/module/controller dans lequel j'ai un indexController.php
j'ai aussi
$controller->setBaseUrl('http://localhost/MyApp/');
lorsque j'appelle
http://localhost/MyApp/ pas de pb je tombe sur indexController du module par défaut
je suis sous apache 1.3 est le rewriteRule ne semble pas fonctionner (pourtant le module est actif dans apache)
.htaccess
RewriteEngine on RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
donc
http://localhost/MyApp/index/aaa/ ne marche pas
j'ai bien obtenu quelque chose par
http://localhost/MyApp/index.php/index/index/action1/
et pour mon module
http://localhost/MyApp/index.php/index/admin/index/index/
je ne comprends pas pourquoi le controller cherche à instancier une classe Admin_IndexController
car du coup il ne tient pas compte du chemin que j'ai mis dans addControllerDirectory.
soit il devrait comme pour default module instancier IndexController dans du dossier donné par addControllerDirectory soit il devrait instancier Module_Controllers_IndexController il y a là une incohérence de nomage que je ne comprends pas
car si je suis la règle de Zend_Loader Admin_IndexController ne peux pas se trouver dans 'application/module/controller/'
mais dans
'application/module/controller'/Admin/'
ce comportement est pour le moins étrange car il ne respecte en rien les règles mêmes de Zend
A+JYT
PS: si vous avez une idée pour mon pb de rewriteRule
Hors ligne
Bonjour,
A première Vue :
1) La syntaxe est Index_Controller (Un I majuscule)
2) Il faut préfixé avec le nom de ton module => Module_Index_Controller
Ensuite il faut indiquer le répertoire du contrôleur de ton module
$monFrontController->setControllerDirectory(array('module', /chemin vers le contrôleur relativement à ton bootstrat (index.php racine)))
soit :
$monFrontController->setControllerDirectory(array('module','. /applications/module/controllers'));
Si ta structure de répertoire est la suivante :
<MyApp>
index.php(bootstrap)
<applications>
<controllers>
<models>
<views>
<module>
<controllers>
<models>
<views>
Tu appelles comme ceci => http://mamachine/MyApp/module/
Marcel
Dernière modification par mbariou (26-08-2007 11:04:48)
Hors ligne
Bonjour,
On a longuement discuter de l'architecture avec l'utilisation des modules ici http://www.z-f.fr/forum/viewtopic.php?id=356 tu devrais trouver ton bonheur ici
@++ Dinoxyz
Hors ligne
merci à vous
Hors ligne