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 :

FOSUserBundle et URL personnalisées [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Par défaut FOSUserBundle et URL personnalisées
    Bonjour à tous,
    j'utilise le FOSUserBundle qui me fournit un formulaire de changement de mot de passe. J'aimerais donc l'utiliser pour ne pas avoir à réinventer la roue.
    Mon seul problème c'est que dans mon appli pour tout ce qui touche aux comptes utilisateurs l'URL est préfixée par /mon_compte/. En l'occurrence pour le changement de mot de passe j'aimerais que ça soit du style /mon_compte/changer_mdp et non /profile/change-password.

    Sauriez-vous comment je peux faire ?

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 141
    Par défaut
    Le plus simple et ce que j'ai fait de mon côté, pour ne pas toucher au bundle en lui-même, c'est de redéfinir ton routing dans le propre bundle User que tu as dû normalement créer.

    Ainsi tu devrais avoir dans
    namespace/tonbundle/Ressources/config/routing.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fos_user_change_password:
        pattern: /mon_compte/changer-mot-de-passe
        defaults: { _controller: Namespace:Bundle:changePassword }
    Je te copie ce que j'ai fait de mon côté mais j'ai aussi redéfinit le contrôleur et la vue pour mes besoins.

  3. #3
    Membre éclairé Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Par défaut
    Merci KzrData,
    J'ai essayé de faire comme tu dis mais j'ai droit à un "No route for GET /inscription"

    Voici mon app/config/routing.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    projetBackOfficeBundle:
        resource: "@projetBackOfficeBundle/Controller/"
        type:     annotation
        prefix:   /back_office
     
    projetFrontOfficeBundle:
        resource: "@projetFrontOfficeBundle/Controller/"
        type:     annotation
        prefix:   /
     
    projetUserBundle:
        resource: "@projetUserBundle/Controller/"
        type:     annotation
        prefix:   /
     
    projetUserBundle:
        resource: "@projetUserBundle/Resources/config/"
     
    fos_user_security:
        resource: "@FOSUserBundle/Resources/config/routing/security.xml"
     
    fos_user_profile:
        resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
        prefix: /profile
     
    fos_user_register:
        resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
        prefix: /register
     
    fos_user_resetting:
        resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
        prefix: /resetting
     
    fos_user_change_password:
        resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
        prefix: /profile
    et voici maintenant mon src/projet/UserBundle/Resources/config/routing.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fos_user_change_password:
        pattern: /mon_compte/changer_mdp
        defaults: { _controller: FOSUserBundle:ChangePassword:changePassword }
    fos_user_registration_register:
        pattern: /inscription
        defaults: { _controller: FOSUserBundle:Registration:register }
    Ai-je fait quelque chose de mal ?

    Merci d'avance

  4. #4
    Membre éprouvé
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Mai 2011
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2011
    Messages : 122
    Par défaut
    Bonjour,

    Tes bundles frontOffice et user ont le même préfixe, c'est donc toujours le premier qui sera utilisé. A mon avis, tu as oublié de remplir correctement le prefix de ta route projetUserBundle.

    Ensuite, tu as une grosse incohérence. D'un côté tu utilises les annotations et donc la définition des routes dans le controleur et de l'autre tu fais un fichier routing.yml; il va falloir choisir.

  5. #5
    Membre éclairé Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Par défaut
    Ok j'ai modifié en conséquence :

    Voici mon app/config/routing.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    projetBackOfficeBundle:
        resource: "@projetBackOfficeBundle/Controller/"
        type:     annotation
        prefix:   /back_office
     
    projetFrontOfficeBundle:
        resource: "@projetFrontOfficeBundle/Controller/"
        type:     annotation
        prefix:   /
     
    projetUserBundle:
        resource: "@projetUserBundle/Resources/config/routing.yml"
        prefix: /utilisateur
     
    fos_user_security:
        resource: "@FOSUserBundle/Resources/config/routing/security.xml"
     
    fos_user_profile:
        resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
        prefix: /profile
     
    fos_user_register:
        resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
        prefix: /register
     
    fos_user_resetting:
        resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
        prefix: /resetting
     
    fos_user_change_password:
        resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
        prefix: /profile
    et je rencontre toujours le même problème : "No route for GET /utilisateur/inscription

  6. #6
    Membre éprouvé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 141
    Par défaut
    Un bon réflexe lorsque tu débugges des routes est d'utiliser la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console router:debug
    afin de vérifier les routes qui existent.

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

Discussions similaires

  1. URL personnalisée avec mod_rewrite
    Par Roln1k dans le forum Apache
    Réponses: 5
    Dernier message: 09/11/2013, 12h52
  2. Champ arbre et url personnalisée
    Par centaure-net dans le forum WebDev
    Réponses: 0
    Dernier message: 26/08/2010, 17h58
  3. Routing Info (Création d'URL personnalisées)
    Par sosnaim dans le forum Zend
    Réponses: 1
    Dernier message: 05/01/2010, 13h13
  4. [SP-2007] problême à création d'une applicaiton web avec URL personnalisée
    Par regh12 dans le forum SharePoint
    Réponses: 7
    Dernier message: 20/08/2009, 15h35
  5. [forms 10G]Personnaliser l'url
    Par Challenger dans le forum Forms
    Réponses: 3
    Dernier message: 03/08/2006, 17h52

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