Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-05-2012 17:49:12

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

[NON RESOLU][Zend_Route] Créer une route avec uniquement le paramètre

Bonjour,

J'essaie depuis un moment de créer une route du type www.monsite.dev/yves-saint-laurent
Et je n'y arrive pas sad

Tous les exemples que je trouve proposent une route du type : www.monsite.dev/marque/yves-saint-laurent
Si je vire le 'marque' défini en dur dans ma route, je me retrouve avec l'erreur 'le module yves-saint-laurent n'existe pas'...

Voici comment je définis ma route actuellement :

Code:

$brandUrlRouteName = '/marque/:brandName';
$brandUrlRoute     = new Zend_Controller_Router_Route($brandUrlRouteName, array('module' => 'webstore', 'controller' => 'brands', 'action' => 'index', 'brandName' => ''));

Si je tente d'écrire :

Code:

$brandUrlRouteName = ':brandName';
$brandUrlRoute     = new Zend_Controller_Router_Route($brandUrlRouteName, array('module' => 'webstore', 'controller' => 'brands', 'action' => 'index', 'brandName' => ''));

ça marche pô...

Est-il possible de faire comprendre à Zend_Router que le paramètre derrière mon onm de domaine n'est pas le module ou le controller, mais bien une variable?

Merci d'avance wink

Dernière modification par delorbe (19-05-2012 19:09:39)

Hors ligne

 

#2 07-05-2012 20:36:16

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [NON RESOLU][Zend_Route] Créer une route avec uniquement le paramètre

Bonjour,

Peut être une erreur de ma part, mais ne faudrait-il pas garder le / initial :

Code:

[lang=php]$brandUrlRouteName = '/:brandName';
$brandUrlRoute     = new Zend_Controller_Router_Route($brandUrlRouteName, array('module' => 'webstore', 'controller' => 'brands', 'action' => 'index', 'brandName' => ''));

Hors ligne

 

#3 07-05-2012 22:16:34

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

Re: [NON RESOLU][Zend_Route] Créer une route avec uniquement le paramètre

Salut Théocrite,

Merci pour ta réponse smile

Mais en fait, j'avais au début gardé le '/:brandName'.
Hélas, ça ne change rien.

Je suis pourtant persuadé que j'oublie un truc de rien du tout, juste un détail qui fait que ça ne fonctionne pas...
Je cherche encore...

Encore merci pour ton aide wink

[EDIT] :
En fait, dans le cas présent, que je garde le '/' initial ou pas, Firefox me dit :

La page n'est pas redirigée correctement
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.

Dernière modification par delorbe (07-05-2012 23:19:00)

Hors ligne

 

#4 07-05-2012 23:34:26

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

Re: [NON RESOLU][Zend_Route] Créer une route avec uniquement le paramètre

J'ai essayé avec Zend_Controller_Router_Route_Regex.

Et c'est là que je me retrouve avec mon paramètre brandName, interprété comme le nom du module.

Ma route:

Code:

$brandUrlRoute = new Zend_Controller_Router_Route_Regex('[0-9a-z\-]', array('module' => 'webstore', 'controller' => 'brands', 'action' => 'index', 'brandName' => ''), array('brandName' => ''), '%s')

Un Zend_Debug me donne :

Code:

array(4) {
  ["module"] => string(12) "yves_saint_laurent"
  ["controller"] => string(5) "index"
  ["action"] => string(5) "index"
}

Cela dit, je n'ai toujours pas réussi à comprendre le fonctionnement de Regex...
pour moi, "[0-9a-z\-]" reste encore assez mystérieux, même si j'essaie de dire "un nombre illimité de caractères alphanumériques séparés par des tirets" smile

Dernière modification par delorbe (07-05-2012 23:37:08)

Hors ligne

 

#5 11-05-2012 22:22:38

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

Re: [NON RESOLU][Zend_Route] Créer une route avec uniquement le paramètre

Bonsoir,

Je me permets de relancer un coup le sujet, parce que malgré mes recherches, je n'ai toujours pas trouvé d'autre moyen.

La seule solution que j'ai, c'est de construire une route du type www.monsite.dev/marque/yves-saint-laurent
Et je veux une route du type www.monsite.dev/yves-saint-laurent

Personne n'a jamais eu envie d'avoir ce genre de route? smile

Hors ligne

 

#6 19-05-2012 19:08:43

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

Re: [NON RESOLU][Zend_Route] Créer une route avec uniquement le paramètre

Je n'ai pas trouvé de solution, du coup je m'en tiens à la route www.monsite.dev/marque/yves-saint-laurent.
Sujet clos

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