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 :

Prefix et routing [2.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Student
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Student
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Prefix et routing
    Bonjour à toutes et à tous,
    J'aimerai rajouter un prefix (/admin) à quelques unes de mes routes, il y a un moyen automatique pour le faire sans devoir rajouter un "/admin/" devant chacune de mes routes dédiées au backend ?

    Dans la doc officielle, il y a un exemple qui permet de rajouter le prefix /site pour tous un bundle, malheureusement dans mon cas le bundle gère aussi bien des routes dédiées au backend qu'au frontend.

    Exemple dispo sur le site officiel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # app/config/routing.yml
    app:
        resource: "@AppBundle/Controller/"
        type:     annotation
        prefix:   /site
    Je ne suis forcément pas le seul à avoir rencontré ce problème, avez-vous des suggestions afin de le résoudre ou afin de l'éviter ?
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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 419
    Par défaut
    Bonjour,

    As-tu une manière de différencier les routes qui auront admin de celles qui ne l'auront pas ?
    Si tu ne peux pas expliquer la différence en langage machine, ca va etre dur de l'expliquer a ton fichier de route.

    Si tu utilise sonata, tu peux assez facilement l'extraire de ton bundle applicatif en créant un bundle Admin.
    Plus pratique pour ce genre de chose (et pour le remplacer sans toucher le reste si tu décide de changer)

    Pierre

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Student
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Student
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut
    Tout d'abord je tiens à te remercier pour ta réponse rapide. Je ne vais pas le cacher, je viens de me lancer dans mon premier projet symfony2 et je suis un peu perdu.
    Ce que je pensais faire pour les différencier, c'est avoir deux fichiers de routing dans le même bundle, un qui contient les routes du front et qui importe le deuxième fichier de routing qui lui gère exclusivement les routes du backend ; comme-ceci je pense qu'on peut facilement dissocier les deux types de route. Voici ce que j'ai essayé de faire mais sans grand résultat :
    routing.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ArticlesBundle_admin:
        path:      "@ECArticlesBundle/Resources/config/routingAdmin.yml"
        prefix:  /admin
    routingAdmin.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    admin_new:
        path:     /new
        defaults: { _controller: "ECArticlesBundle:ArticleAdmin:new" }
     
    admin_create:
        path:     /create
        defaults: { _controller: "ECArticlesBundle:ArticleAdmin:create" }
        methods:  POST
    ...
    Si je mets la fonction "admin_new" dans le fichier routing.yml ça fonctionne, sinon j'ai une erreur, faut croire que l'importation ne se fait pas comme il le faut. Voici le message d'erreur :
    An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "admin_new" as such route does not exist.")

  4. #4
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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 419
    Par défaut
    Essaye de remplacer ton fichier qui appelle routing
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ArticlesBundle_admin:
        resource: "ECArticlesBundle/Resources/config/routingAdmin.yml"
        prefix:   /admin
    Autrement, tu peux essayer de regarder comment séparer en 2 bundle... C'est peut être pas si long.

    Pierre

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Student
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Student
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut
    Alors voici le code fonctionnel :
    routing.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ArticlesBundle_admin:
        resource:      "@ECArticlesBundle/Resources/config/routingAdmin.yml"
        prefix:  /admin

    pmithrandir, merci pour ton aide, il manquait juste le "@", mais sinon bien vu, il fallait définir "resource" et non pas "path".

  6. #6
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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 419
    Par défaut
    Je t'en prie.

    Tu peux cliquer sur résolu donc

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

Discussions similaires

  1. [2.x] Définir un prefix pour toutes les routes
    Par icl1c dans le forum Symfony
    Réponses: 4
    Dernier message: 15/02/2012, 18h12
  2. [Lomboz][JSP]Le paramètre prefix de taglib fait tout planter
    Par MasterMic dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 20/06/2005, 15h47
  3. Définition d'une route
    Par Amélie Ladoque dans le forum Réseau
    Réponses: 5
    Dernier message: 24/03/2005, 11h08
  4. Rajouter un Field à un TTable en cours de route
    Par gandf dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/02/2005, 23h54
  5. Encore une jointure sous Oracle pour la route
    Par ebaynaud dans le forum Langage SQL
    Réponses: 15
    Dernier message: 04/11/2004, 11h40

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