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 :

Routing avec symfony2 [2.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Points : 34
    Points
    34
    Par défaut Routing avec symfony2
    j'ai un petit problème,je souhaite récupérer un paramètre dans mon controlleur voilà mon routing :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SpanishPage:
        pattern:  /AllNews/spanish
        defaults: { _controller: myBundleBundle:AllNews:index }
     
    EnglishPage:
        pattern:  /AllNews/english
        defaults: { _controller: MyBundle:AllNews:index  }
     
    .....
    c'est un peu bizarre car je veux récupérer le mot statique "spanish" sans changer le format le lien comme ceci ....?langue=spanish,puisque je cherche à utiliser la meme action pour chaque langue "spanish,english,frensh..." avec le meme format du lien...

    Merci.

  2. #2
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    A ta place je ferais cette route :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    NomDuSiteNomDuBundle_news:
        pattern:  /AllNews/{langue}
        defaults: { _controller: myBundleBundle:AllNews:index }
        requirements:
            _method:  GET
            langue: [spanish, french, english]
    je ne suis pas sur que la dernière ligne qui limite les paramètres autorisés soit valide...
    A mon avis, tu devrais surtout te renseigner sur le support i18n dans symfony 2, ca répondrait à la problématique et ca te permettrait d'utiliser le système prévu pour cela.

    Pour ton projet :
    http://symfony.com/doc/2.0/book/translation.html

    Pour les données en BDD : (Translatable)
    https://github.com/l3pp4rd/DoctrineExtensions

    Bon courage

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Points : 34
    Points
    34
    Par défaut
    Merci pour ta réponse mais c'est pas cela que je cherche,la langue c'est juste un exemple mais mon but n'est plus la translation je cherche tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    SpanishPage:
        pattern:  /AllNews/category1
        defaults: { _controller: myBundleBundle:AllNews:index }
     
    EnglishPage:
        pattern:  /AllNews/category2
        defaults: { _controller: MyBundle:AllNews:index  }
     
    .....

    je veux tout simplement récupérer dans mon controlleur :

    category1 quand je serai sur le lien : ....../AllNews/category1

    et category2 quand je serai sur le lien : ....../AllNews/category2

    sand changer le format du lien comme la méthode classique "Allnews?type=category1" car dans ce cas c'est très simple,on va utiliser "getrequest->getparameter('type'),Mais comme j'ai dit je ne veux pas changer le format du lien....

  4. #4
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Ce que je ne comprends pas, c'est que tu peux, sans changer le lien faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    News:
        pattern:  /AllNews/{category}
        defaults: { _controller: myBundleBundle:AllNews:index }
    Et récupérer ta catégorie dans tes variables...

    Étant donné que les routes sont interchangeable en symfony, je ne me suis pas vraiment posé la question de la récupération de cette route ou d'un de ses membre.

    Pierre

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Points : 34
    Points
    34
    Par défaut
    Bonjour,merci Pierre pour ta réponse bon j'ai résolu ce problème en utilisant comme tu as dit avec une liste statique enregistré à la BD...

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 30/07/2014, 13h05
  2. probleme de routing avec ISA 2006
    Par maikess dans le forum Sécurité
    Réponses: 0
    Dernier message: 17/05/2010, 12h03
  3. Réponses: 4
    Dernier message: 12/04/2010, 16h48
  4. [1.x] Routing avec url_for()
    Par koli77 dans le forum Symfony
    Réponses: 5
    Dernier message: 29/12/2009, 14h08
  5. Ruby on Rails et Routes avec 2 tables reliées
    Par Miles Raymond dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 17/06/2009, 08h14

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