Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-11-2008 15:15:16

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

[ZEND 1.7] Problème de routage

Bonjour à tous,

j'essaie de faire en sorte sur un site Web que les adresses actuelles pointent vers les controller de Zend Framework.

Mais impossible, rien que le BABA :

http://localhost/monsite/rep/index.html

Dans mon fichier config.ini :

routes.dir.type = "Zend_Controller_Router_Route_Static"
routes.dir.route = "index.html"
routes.dir.defaults.module = "default"
routes.dir.defaults.controller = "rep"
routes.dir.defaults.action = "index"

dans le bootstrap :

$router = $frontController->getRouter();
$router->addConfig($config, 'routes');
$frontController->setRouter($router);

La j'ai l'erreur :

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

De même pour une redirection avec des paramètres :

dir.type = "Zend_Controller_Router_Route_Regex"
dir.route = "rep/(\d+),(.+)\.html'"
dir.defaults.module = "default"
dir.defaults.controller = "rep"
dir.defaults.action = "index"
dir.map.1 = "category"
dir.map.2 = "id"
dir.reverse = "rep/%d,%s.html"

mais j'ai toujours la même erreur :

action pouet347Html does not exist and was not trapped in __call()

Quelqu'un a -til une idée ? j'ai dû rater quelque chose.

Merci,

Dernière modification par Cidrolin (17-11-2008 15:15:32)

Hors ligne

 

#2 17-11-2008 15:20:16

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZEND 1.7] Problème de routage

C'est quoi la baseUrl de ton site ??
Car si c'est http://localhost/monsite/, c'est normal que la route ne soit pas reconnue car c'est
http://localhost/monsite/index.html qui est attendu.


----
Gruiiik !

Hors ligne

 

#3 17-11-2008 15:22:35

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: [ZEND 1.7] Problème de routage

effectivement je suis en localhost et c'est dans un sous-dossier "site" ?

Hors ligne

 

#4 17-11-2008 16:20:56

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZEND 1.7] Problème de routage

dans ce cas
routes.dir.route = "rep/index.html"

La route doit correspondre à tous les chemin sans la base (il faut biensur configurer la base dans le ZF)

Ou alors, si tu garde
routes.dir.route = "index.html"
tu y accède via http://localhost/monsite/index.html


----
Gruiiik !

Hors ligne

 

#5 18-11-2008 13:04:05

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: [ZEND 1.7] Problème de routage

Salut,

merci pour ta réponse.

Mais j'ai l'impression que c'est uniquement le . qui pose probleme, car quand je mets :

$route = new Zend_Controller_Router_Route_Static(
    'rep/indexhtml',
    array(
        'controller' => 'rep',
        'action'     => 'index'
    ),

    '/rep/indexhtml'
);
$router->addRoute('route', $route);

il me renvoie bien vers "rep/index"

Et là ça merdouille :

$route = new Zend_Controller_Router_Route_Static(
    'rep/index\.html',
    array(
        'controller' => 'rep',
        'action'     => 'index'
    ),

    '/rep/index.html'
);
$router->addRoute('route', $route);

Merci

Hors ligne

 

#6 18-11-2008 14:03:19

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZEND 1.7] Problème de routage

Je viens de tester ceci :

Code:

routes.users.type = "Zend_Controller_Router_Route_Static"
routes.users.route = "users.html"
routes.users.defaults.module = "user"
routes.users.defaults.controller = "index"
routes.users.defaults.action = "index"

Sachant que ma base est 'monsite' (donc enregistré via $frontController->setBaseUrl('/monsite'))

lorsque je tape d'url http://localhost/monsite/users.html
ca fonctionne chez moi, pas de problème de ., il apelle bien le module/controller/action qui correpond


Si je me réfère que as ton erreur plus haut (..was not trapped in __call), ca veut dire (enfin je crois) que ta route n'a pas été reconnu et que donc, c'est la route par défaut qui est utilisé (a savoir /controller/action ou /module/controller/action) et biensur ce qui est dans l'url n'est pas une action qui existe (tu n'as pas codé indexHtmlAction)

Donc, si on parle sur une non reconnaissance de route, je pense qu'il y a confusion sur des elements de route.
Notamment la base
Es tu sur que ta base est bien réglée ?
As tu vraiment une base ? (je veux dire, 'monsite' n'est pas un module ??)


----
Gruiiik !

Hors ligne

 

#7 18-11-2008 14:27:34

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: [ZEND 1.7] Problème de routage

Ok je comprends mieux.

Merci, à présent cela marche bien pour un index.html tout simple.

par contre si je veux intégrer des paramètres, genre :

http://localhost/monsite/rep/titrenews,28.html

il me nettoie encore la virgule et le point.

Pourtant, je fais :

routes.maroute.type = "Zend_Controller_Router_Route_Regex"
routes.maroute.route = "rep/(\d+),(.+)\.html'"
routes.maroute.defaults.module = "default"
routes.maroute.defaults.controller = "rep"
routes.maroute.defaults.action = "index"
routes.maroute.map.1 = "id"
routes.maroute.reverse = "rep/%d,%s.html"

Alors je ne sais pas si je dois addslashiser les , et les . J'ai beau faire l'un ou l'autre, ça me renvoie toujours l'erreur :

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

Et même après avoir défini la base.

Hors ligne

 

#8 18-11-2008 14:50:06

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: [ZEND 1.7] Problème de routage

C'est bon, j'ai rien dit !!
C'est de ma faute, j'ai mal géré les regex

Tout marche bien, vraiment merci à toi pour avoir répondu si vite à chaque fois!

Hors ligne

 

#9 18-11-2008 14:53:55

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZEND 1.7] Problème de routage

ok, donc, il ne reconnait pas ta route.

1/ soit tu as toujours un problème de base (mais apparement c'est réglé)
2/ ta regex n'est pas correcte.

Tu n'as pas mappé ton 2eme paramètre (le deuxième groupe de parenthèse), je ne sais pas si ca peut gêner => a tester

Le . doit être inhiber oui, mais pas la virgule

Et pour donner une reponse: pour moi, ta regex n'est pas bonne du tout smile
rep/(\d+),(.+)\.html
ne match pas avec
rep/titrenews,28.html

moi, je verrais plutot ca :
rep/titrenews,(\d+)\.html

voir ca :
rep/(.+),(\d+)\.html
(ne pas oublié de mapper 1 avec 'action' et 2 avec 'id')

Je ne sais pas si tu comprends smile je suis pas pédagogue smile


----
Gruiiik !

Hors ligne

 

#10 18-11-2008 14:55:16

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZEND 1.7] Problème de routage

oops.. j'ai été trop long à répondre smile

bon courage !


----
Gruiiik !

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