Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-05-2008 15:55:29

Candy
Nouveau membre
Date d'inscription: 21-04-2008
Messages: 9

[Résolu]Définition de modules

Bonjour,

Je rencontre un problème lors de la définition de mes différents modules.

Dans mon fichier index.php je défini :

Code:

// Arborescence du site
$front->setDefaultModule('home');
$front->addModuleDirectory($dir_config->module->directory);

Mon fichier de config dit :

Code:

module.directory = application/modules

Et mon arborescence est la suivante :

Code:

/application
       /config
       /modules
             /home
                    /controllers
                    /models
                    /views
             /module1
                    /controllers
                    /models
                    /views
             /module2
                    /controllers
                    /models
                    /views
             /module3
                    /controllers
                    /models
                    /views

Maintenant, lorsque j'accède à :

Code:

localhost/MonApplication/

Tout fonctionne bien, en revanche si je tente d'aller dans l'un des modules avec

Code:

localhost/MonApplication/module1/

Ca ne fonctionne pas et j'obtiens l'erreur suivante :

Code:

Action "error" does not exist and was not trapped in __call()

Je ne comprend pas, on dirait que le routage vers mes modules ne fonctionne pas ... quelqu'un peut-il m'éclairer ?

Merci.

Dernière modification par Candy (02-05-2008 04:05:44)

Hors ligne

 

#2 01-05-2008 16:55:23

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: [Résolu]Définition de modules

J'ai la même arborescence que toi mais je n'utilise pas cette fonction (addModuleDirectory). Par contre, pour que mes controllers soit reconnu, j'utilise

Code:

$frontController = Zend_Controller_Front::getInstance();
$frontController->setControllerDirectory(array(
      'default'     => './application/default/controllers/',......)

Du coup, j'aimerai bien savoir  à quoi sert cette fonction ?

Hors ligne

 

#3 01-05-2008 17:17:34

Candy
Nouveau membre
Date d'inscription: 21-04-2008
Messages: 9

Re: [Résolu]Définition de modules

La fonction "addModuleDirectory" te permet de passer à Zend le répertoire qui contient tes modules. Il va ensuite se charger lui même d'associer les modules au répertoire "controllers" correspondant (tu peux aussi lui spécifier un autre nom).
Cf. La doc officielle pour plus d'info

J'ai essayé de faire selon ta méthode, j'obtiens quelque chose du genre :

Code:

$front->setControllerDirectory(array(
 'home'      => './application/modules/home/controllers/',
 'module1'  => './application/modules/module1/controllers/',
 'module2'  => './application/modules/module2/controllers/',
 'module3'  => './application/modules/module3/controllers/' ));

C'est ok pour accéder à "home" mais lorsque je tente d'accéder à module1 par exemple j'obtiens :

Code:

Invalid controller specified (error)

J'ai pourtant un "IndexController" et un "index.phtml" dans chacun de mes modules ...

Dernière modification par Candy (01-05-2008 17:19:15)

Hors ligne

 

#4 01-05-2008 18:15:05

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Résolu]Définition de modules

Bonjour Candy,

Dans ton module1, la classe de IndexController doit s'appeler Module1_IndexController (par contre le fichier reste IndexController.php).

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 02-05-2008 04:05:07

Candy
Nouveau membre
Date d'inscription: 21-04-2008
Messages: 9

Re: [Résolu]Définition de modules

Merci beaucoup philippe, c'est vrai que quand on y pense ça a une certaine cohérence. Bref, je vais pouvoir avancer, merci smile.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages