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 :

Modifier le formulaire d'enregistrement de FOS


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Par défaut Modifier le formulaire d'enregistrement de FOS
    Bonjour à tous,


    Je suis en train d'utiliser FOSUser pour la gestion des users dans mon projet.
    Dans mon UserBundle, j'ai 3 entités:

    • user
    • provider
    • member


    ==> provider et member correspondent à un type de user particulier.

    Ce que je souhaite: lors de l'inscription, il faudrait que le formulaire de base d'enregistrement du FOS ajoute un formulaire spécifique si l'internaute souhaite s'inscrire comme provider, et un autre formulaire spécifique si il souhaite s'inscrire comme member.
    Je pensais pouvoir faire cela en ajoutant, dans mon RegistrationFormType, la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ->add('provider', new ProviderType())
    mais j'obtiens cette erreur:
    ClassNotFoundException: Attempted to load class "ProviderType" from namespace "Project\UserBundle\Form\Type" in C:\wamp\www\Project\zen_perso\src\Project\UserBundle\Form\Type\RegistrationFormType.php line 30. Do you need to "use" it from another namespace?
    Petite précision: d'après l'erreur obtenue, il semble qu'il y ait une erreur dans les use à entrer en début de document, pour mon RegistrationFormType, j'ai les use suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    use Symfony\Component\Form\FormBuilderInterface;
    use FOS\UserBundle\Form\Type\RegistrationFormType as basetype;
    J'ai l'impression que tout est correct, mais c'est la 1°fois que je tente de modifier les formulaires de FOSUser, et j'ai un doute sur la manière de m'y prendre.

    Si quelqu'un pouvait m'aider, ça serait très aimable.
    Bon lundi à toutes et tous

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    pour cela il faut surcharger fosUser.



    donc avec un UserBundle par exemple.


    tu surcharge l'entité user et tu ajoute le champs typeUser avec ces getter , setter
    (tu ajoute le champs en table dans la base de donnée manuellement ou avec update schema)

    ensuite tu surcharge le formtype d'enregistrement ou tu ajoute ce nouveau champs

    (vérifier l'affichage du form si tout va bien)

    le tour est joué !

Discussions similaires

  1. [Toutes versions] USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire.
    Par Philippe Tulliez dans le forum Contribuez
    Réponses: 113
    Dernier message: 06/03/2025, 20h03
  2. [AC-2000] Modifier une table grâce à un formulaire sans enregistrer
    Par B-CAB dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/07/2010, 16h14
  3. Réponses: 9
    Dernier message: 01/12/2005, 17h19
  4. sous-formulaire et enregistrement suivant
    Par Cantalou dans le forum Access
    Réponses: 3
    Dernier message: 12/10/2005, 19h05
  5. Ouverture formulaire sur enregistrement precis
    Par mat_lefebvre dans le forum IHM
    Réponses: 7
    Dernier message: 11/10/2004, 16h37

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