IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Problème de routing avec un paramètre optionnel [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Porteur de projets Web
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Porteur de projets Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Points : 41
    Points
    41
    Par défaut Problème de routing avec un paramètre optionnel
    Bonjour,

    Je n'arrive pas à faire fonctionner l'exemple qui figure dans le chapitre The Locale and the URL de la partie Translation du Book, à savoir :

    contact:
    pattern: /{_locale}/contact
    defaults: { _controller: AcmeDemoBundle:Contact:index, _locale: en }
    requirements:
    _locale: en|fr|de

    En effet, si je mets /fr/contact ou /en/contact, tout va bien, mais l'argument par défault ne semble pas fonctionner car quand je mets /contact, j'obtiens un No route found for "GET /contact".

    Qu'en pensez-vous?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Points : 511
    Points
    511
    Par défaut
    je pense que l'argument par défaut est utilisé lorsque l'on veut générer la route sans argument ( via twig ou un contrôleur ). Du coup dans ton cas c'est normal que ça marche pas car la route /contact n'existe pas

  3. #3
    Membre actif

    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 223
    Points
    223
    Par défaut
    Si on suit bien la doc cela est possible normalement. Cependant dans la doc sur les routings ils emploient seulement un paramètre qui n'est pas au début de l'url.

    D'après les tests que je viens de faire :

    Si on met un paramètre variable au début de la route, il ne prend pas la valeur par défaut au cas où on ne met rien dans l'url

    Si on met le paramètre ailleurs qu'au début c'est ok SAUF pour le paramètre _locale

    Je vais une fois upgrader le core et voir

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Points : 511
    Points
    511
    Par défaut
    Comme je l'ai dit dans un autre sujet lancer la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console router:debug
    permet de bien savoir quelle route sont possible

  5. #5
    Membre du Club
    Homme Profil pro
    Porteur de projets Web
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Porteur de projets Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Points : 41
    Points
    41
    Par défaut
    Bon, j'essaye tout et n'importe quoi, mais ça ne veut pas. C'est pas bien grave, j'ai créée la route /contact explicitement.

    Merci de votre aide.

  6. #6
    Membre actif

    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 223
    Points
    223
    Par défaut
    Voici la sortie du debug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    [router] Route "cool"
    Name         cool
    Pattern      /{_locale}/cool
    Class        Symfony\Component\Routing\CompiledRoute
    Defaults     _controller: Acme\DemoBundle\Controller\DemoController::indexAction
                 _locale: en
    Requirements _locale: fr|en
    Options      compiler_class: Symfony\Component\Routing\RouteCompiler
    Regex        #^
                     /(?P<_locale>fr|en)
                     /cool
                 $#x

  7. #7
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    En effet la regex generee ne permet pas de catcher /cool.
    C'est soit un bug soit une limitation, nais ca devrait en tout ca apparaitre dans la doc !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Routes avec plusieurs paramètres optionnels complexes
    Par Oberown dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 29/11/2013, 09h39
  2. Problème de requêtes avec deux paramètres
    Par Ahlina dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/03/2013, 23h21
  3. Problème de route avec 2 cartes réseau-Dfault gateway
    Par zoltix dans le forum Administration
    Réponses: 5
    Dernier message: 05/12/2010, 12h50
  4. [Système] Fonction avec plusieurs paramètres optionnels
    Par cerede2000 dans le forum Langage
    Réponses: 1
    Dernier message: 25/05/2007, 14h36
  5. Problème de ciblage avec un paramètre...
    Par Tchupacabra dans le forum Access
    Réponses: 7
    Dernier message: 27/12/2005, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo