Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Voilà, je suis un peu débutant avec Zend Framework. J'ai cherché la solution à mon problème sur le site officiel. Cela semblait très simple, mais apparemment pas assez pour moi.
J'ai commencé une application très basique, sans modules, et je me suis rendu compte que j'en aurais bien besoin pour structurer mon projet.
Voici la structure de mes répertoires :
-application -modules -front -controllers -models -views -backend -controllers ... -public
Voici ce que j'ai essayé de configuré dans mon contrôlleur frontal :
$front = Zend_Controller_Front::getInstance(); $front->setControllerDirectory(array( 'default' => APP_PATH . 'front/controllers', 'blog' => APP_PATH . 'backend/controllers' )); Zend_Layout::startMvc(array('layoutPath' => APP_PATH . 'front/views/layouts')); $front->dispatch();
J'ai également un layout qui doit être chargé. Je l'ai chargé ici avec un lien en dur pour le module par défaut. Je me doute bien qu'il devrait être variable en fonction du module chargé.
Malgré toutes mes tentatives de configuration, l'application me retourne souvent la même erreur :
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\Program Files\Wamp\www\argania_zend\library\Zend\Controller\Dispatcher\Standard.php:241 Stack trace: #0 C:\Program Files\Wamp\www\argania_zend\library\Zend\Controller\Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\Program Files\Wamp\www\argania_zend\public\index.php(93): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\Program Files\Wamp\www\argania_zend\library\Zend\Controller\Dispatcher\Standard.php on line 241
Voilà je vais aller dormir en laissant mijoter la sauce.
D'avance merci pour vos réponses.
BJ
Hors ligne
Je pense avoir réussi à résoudre mon problème, enfin je n'ai plus d'erreur. Par contre je n'arrive pas à accéder via l'url à un de mes modules.
Hors ligne
Bonjour,
Je pense que tu as repris l'exemple de la doc avec 'default' et 'blog' est ce que ton problème d'url ne viendrait pas de ses thermes?
Tu peux utiliser la méthode $front->addModuleDirectory('chemin/vers/dossier/modules/') pour spécifier le chemin vers le dossier contenant tes modules.
Un coup d'oeil à la doc : http://framework.zend.com/manual/fr/zen … dular.html
Ensuite pour atteindre une action dans un controlleur se trouvant dans le dossier module : http://localhost/monAlias/NomDuDossierDansModules/NomDuControlleur/NomDeLaction
++
Hors ligne
Merci pour cette astuce. J'étais parti avec un setControllerDirectory qui demandais à ce que je lui passe tous mes controlleurs.
Pour que mon layout réagisse automatique que fait plugin comme indiqué dans cette note : http://dustint.com/archives/28.
J'ai dû aussi adapter mon fichier de routage.
Mais ça marche, je suis content.
Dernière modification par bernisage (13-05-2009 21:33:12)
Hors ligne