2009-11-09 4 views
0

J'ai réussi à créer un formulaire de registre, et maintenant les utilisateurs peuvent enregistrer mon site. Mais je ne peux pas créer un formulaire dans lequel les utilisateurs peuvent modifier leur profil.modifier le profil de frontend - symfony

je sf_guard_user et sf_guard_user_profile dans mon schema.yml

Est-ce que quelqu'un a un article sur la façon de le faire? J'ai essayé quelques idées sans succès.

Répondre

2

La façon rapide de commencer est de créer un frontend CRUD la tâche

doctrine ./symfony: generate-crud-à-dire.

./symfony doctrine:generate-crud frontend user sfGuardUser 

(ou vous pouvez simplement générer le formulaire de profil avec la doctrine: build-forms tâche)

De là, vous pouvez personnaliser le formulaire. La partie la plus délicate sera de fusionner les deux formes, la forme d'utilisateur sf_gurd (celle avec le mot de passe et le nom d'utilisateur) et la forme_profil_sf_guard. Si vous voulez champs champs profil et utilisateur sur le même formulaire, vous devez utiliser des formulaires intégrés comme indiqué ici:

http://www.blogs.uni-osnabrueck.de/rotapken/2009/03/13/symfony-merge-embedded-form/comment-page-1/

Un extrait de cette page de blog:

class sfGuardUserForm extends BasesfGuardUserForm 
{ 
    public function configure() 
    { 
    parent::configure(); 
    $profileForm = new UserProfileForm($this->object->Profile); 
    unset ($profileForm['id'], $profileForm['sf_guard_user_id']); 
    $this->embedForm("profile", $profileForm); 
    } 
} 
+1

+1 - j'utiliser la technique dans l'article lié régulièrement. Sachez simplement que des problèmes liés à la validation des post validateurs ne sont pas résolus si vous utilisez le code fourni. – benlumley

Questions connexes