Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-06-2010 14:55:16

Rouzz
Nouveau membre
Date d'inscription: 22-06-2010
Messages: 6

[Résolu] Zend_controller et les actions

Bonjour à tous

Je travaille sur un  projet utilisant Zend Framework et je rencontre une difficulté.
Selon le Cahier des charges je dois recevoir une url de type http://monsite.com/user/toto (ici, toto est le nom du client).

Le problème est que Zend_controller attend une action (et la view qui va avec) à la place de toto et donc affiche : "An error occurred Page not found". Il est clair que je ne peux pas créer une action par utilisateur.

J'ai pensé à utiliser une redirection dans le .htaccess mais le client peut effectuer des requetes PUT, DELETE ou GET sur cette url et la redirection fait automatiquement un GET. Mon traitement dépend entièrement de cette méthodes http donc je ne peux pas m'en passer.

J'aimerai donc savoir s'il existe un moyen d'avoir une action qui utiliserait "toto" comme paramètre. (Un peu comme on utilise la méthode __get($value)). Ou un quelconque moyen de signifier que "toto" n'est pas l'action et qu'il passe pas indexAction.

J'espère être assez clair.
Si quelqu'un a une idée...

Dernière modification par Rouzz (25-06-2010 09:11:33)

Hors ligne

 

#2 23-06-2010 16:12:06

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

Re: [Résolu] Zend_controller et les actions

T'as juste à faire une route "Zend_Controller_Router_Route" ou route = "/user/:login/*"


----
Gruiiik !

Hors ligne

 

#3 24-06-2010 10:23:24

Rouzz
Nouveau membre
Date d'inscription: 22-06-2010
Messages: 6

Re: [Résolu] Zend_controller et les actions

Merci beaucoup pour ton aide !
Il me reste un petit problème, j'ai intégré ce code à mon index.php :


$route = new Zend_Controller_Router_Route(
    'user/:username',
    array(
        'controller' => 'user',
        'action'     => 'index'
    )
);

$frontController = Zend_Controller_Front::getInstance(); 

$router = $frontController ->getRouter();

$router->addRoute('user', $route);


Mais quand j'appelle http://monsite.com/user/toto  j'ai une erreur du navigateur. Par contre http://monsite.com/user/index m'affiche bien l'index.

D'ailleurs, si j'appelle n'importe quelle action qui n'existe pas, je n'ai pas de "page not found" mais une erreur de lien corrompu (du navigateur et non pas une erreur Zend).

Est-ce à mettre ailleurs que dans l'index.php ? Ou alors j'ai oublié quelque chose ?

Hors ligne

 

#4 24-06-2010 16:10:26

Rouzz
Nouveau membre
Date d'inscription: 22-06-2010
Messages: 6

Re: [Résolu] Zend_controller et les actions

Okay j'ai trouvé, je l'avais mis après le  $application->bootstrap()->run();

Je l'ai remonté et ça marche nickel !

Merci encore

Hors ligne

 

#5 24-06-2010 21:53:40

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

Re: [Résolu] Zend_controller et les actions

Ce sujet est donc [résolu] ?


----
Gruiiik !

Hors ligne

 

#6 25-06-2010 09:11:48

Rouzz
Nouveau membre
Date d'inscription: 22-06-2010
Messages: 6

Re: [Résolu] Zend_controller et les actions

Oups, pardon 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