Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Alors peut-être qu'il y a des trucs que j'ai pas compris mais je n'arrive pas à utiliser les modules après plusieurs tutos trouvés sur le web. L'idée que j'ai retenu et qui m'a l'air pas mal du tout est d'utiliser un fichier de Bootstrap à l'intérieur même de chaque module. j'ai l'architecture suivante:
application --Bootstrap.php --controllers --models --views --modules ----default ------controllers --------IndexController.php ------models ------views ----test ------controllers --------IndexController.php ------models ------views ------Bootstrap.php
Dans le fichier application.ini:
#MODULES resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" resources.frontController.defaultControllerName = "index" resources.frontController.defaultAction = "index" resources.frontController.defaultModule = "default"
Dans le bootstrap sous la racine application:
protected function _initAutoload() { $loader = new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH)); return $loader; }
Et pour finir dans le bootstrap du module test:
class Test_Bootstrap extends Zend_Application_Module_Bootstrap { protected function _initAutoload() { $moduleLoader = new Zend_Application_Module_Autoloader(array( 'namespace' => 'Test_', 'basePath' => APPLICATION_PATH . '/modules/test')); $moduleLoader->addResourceType('Models', 'models', 'Models'); $moduleLoader->addResourceType('Forms', 'forms', 'Forms'); return $moduleLoader; } }
Je tiens à préciser que à priori ça fonctionne pour le module default puisque j'arrive à afficher la vue index du module en accédant à l'adresse: http://localhost. En revanche lorsque je fais http://localhost/test pas moyen d'accèder a l'index. Alors soit je n'accède pas proprement au module ou soit ça vient du code mais je ne parviens pas à trouver.
Merci d'avance pour vos réponses.
Hors ligne
il te manque cette ligne dans le config.ini
resources.modules[] = ""
Hors ligne
Merci pour ta réponse mais j'avais essayé aussi et il me semble que ça ne marche pas.
Hors ligne
J'ai essayé et apparemment le problème ne vient pas de là...je vais continuer à chercher
Hors ligne
Je peux me tromper mais d'après ce que j'ai pu lire sur d'autres post tu n'as pas besoin de ces lignes :
$moduleLoader->addResourceType('Models', 'models', 'Models'); $moduleLoader->addResourceType('Forms', 'forms', 'Forms');
Ces ressources sont des ressources par défaut, et à moins que tu aies choisi de préfixer tes classes de modeles par Models au lieu de Model, et tes classes de formulaires par Forms au lieu de Form, je pense que tu peux les enlever.
(si je dis une bêtise corrigez moi )
Hors ligne
Ca ne change rien au problème, il m'affiche toujours "not found" quand je tape "http://localhost/test mais merci pour l'info.
Hors ligne
C'est le .htaccess fournit de base par Zend_Tool:
SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
Hors ligne
Logiquement oui puisque sans les modules ça fonctionne: quand je tape l'adresse:
http://localhost/index/index
il me redirige correctement vers la vue index.phtml.
Ce qui est bizarre c'est que quand je tape:
http://localhost/default
ça devrait me rediriger vers la vue index.phtml du module or il m'affiche également "not found" et pourtant lorsque je charge la page le navigateur se redirige bien vers cette page donc c'est que le module est bien trouvé. Le mieux ce serait que j'ai un code qui fonctionne pour que je puisse voir d'où provient le problème car là dans un code qui fonctionne pas je patauge et je peux pas comprendre mon erreur.
Hors ligne
Bon j'ai trouvé un bon tuto qui explique comment utiliser les modules mais maintenant je voudrai activer dojo et je suis largué, à suivre dans un autre post lol. Merci en tout cas: pour infos l'adresse du tuto: Un tutoriel sur les module (EN)
Hors ligne
Le tutau n'est plus en ligne et je ne trouve aucune doc qui explique bien les module avec le initAutoload
Hors ligne
Voilà la nouvelle adresse
http://www.atirjavid.com/web-developmen … cture.html
A+, Philippe
Hors ligne