Bonsoir à tous,

Je débute avec Symfony, et essaie d'implémenter un espace membres en partie grâce au plugin sfDoctrineGuard ; j'ai lu la documentation officielle, et fouiné sur le net à la recherche de tutos.

Pour l'instant, j'ai un formulaire d'enregistrement personnalisé qui permet bien aux utilisateurs de s'inscrire. En revanche, je voudrais rajouter quelques champs personnalisés afin d'établir un profil grâce à sfGuardUserProfile mais ceux-ci n'apparaissent pas dans mon formulaire d'inscription (alors qu'à priori, ils devraient ?)

Comment pourrais-je faire pour que mes champs personnalisés apparaissent svp ?

Voici quelques codes qui me semblent utiles pour la réponse à ma question, merci d'avance !

sfGuardRegisterForm.php
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
class sfGuardRegisterForm extends sfGuardUserForm {
    public function configure() {
      parent::configure();
 
      unset( $this['created_at'],
             $this['updated_at'],
             $this['last_login'],
             $this['groups_list'],
             $this['permissions_list'],
             $this['is_active'],
             $this['is_super_admin'],
             $this['salt'],
             $this['algorithm'] );
 
      $this->widgetSchema['password'] = new sfWidgetFormInputPassword();
 
      $this->widgetSchema->setLabels(array('username' => 'Nom d\'utilisateur :',
                                           'password' => 'Mot de passe :'));
 
    }
  }
app.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
all:
  sf_guard_plugin:
    routes_register: false
    profile_class: sfGuardUserProfile
    profile_field_name: user_id
/modules/sfGuardAuth/actions/actions.class.php
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
require_once(sfConfig::get('sf_plugins_dir').'/sfDoctrineGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php');
 
  class sfGuardAuthActions extends BasesfGuardAuthActions {
 
    public function executeRegister($request) {
      if($this->getUser()->isAuthenticated()) {
        // User already registered
        // Redirect to home page
        $this->getUser()->setFlash('message', 'Vous êtes déjà enregistré.');
        $this->redirect('homepage');
      }
 
      $this->form = new sfGuardRegisterForm();
 
      if ($request->isMethod('post')) {
        $this->form->bind($request->getParameter('sf_guard_user'));
 
        if ($this->form->isValid()) {
          $sf_guard_user = $this->form->save();
          $this->getUser()->setFlash('message', 'Vous êtes maintenant enregistré.');
        }
      }
    }
 
  }