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

Plugins PHP Discussion :

sfGuard et champs persos


Sujet :

Plugins PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 61
    Par défaut sfGuard et champs persos
    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é.');
            }
          }
        }
     
      }

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Tu as deux plugins qui font tous ce que tu désires et sont prêt à l'emploi.

    sfDoctrineApplyPlugin Ce plugin rajoute à sfGuard la possibilité d'avoir des champs personnalisés, une page de création des comptes, une confirmation/validation par email de la création, une gestion par l'utilisateur de son profil, ...
    Seul inconvénient, il est difficile a installer et nécessite un recours au zend framework, pas simple à mettre en œuvre pour un débutant dans symfony.

    sfForkedDoctrineApplyPlugin le chalenger. Même fonctionnalités mais sans le recours au zend framework, donc plus simple à installer et, à mon avis, mieux intégré. C'est celui que j'envisage d'utiliser à l'avenir.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 61
    Par défaut
    Oh yeah, je vais regarder de ce côté là ; merci

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 61
    Par défaut
    Je profite de ce topic pour un petit problème sur lequel je galère.
    J'essaie de modifier un peu mon formulaire d'enregistrement ; j'ai déjà réussi à modifier les labels en créant une classe perso et en la déclarant dans l'app.yml. En revanche, je n'arrive pas à modifier le contenu des boutons submit ; savez-vous où c'est géré ou s'il y a une méthode sur un objet du type widgetSchema svp ?

    EDIT: j'ai finalement trouvé vite après ce post
    il fallait directement modifier le template suivant :
    /plugins/sfForkedDoctrineAPplyPlugin/modules/templates/applySuccess.php

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Le plugin est prévu pour la traduction (fonctions i18n).

    Pourquoi ne pas simplement activer l'i18n et modifier le texte dans le fichier de traduction .

    Ainsi, pas de problème en cas d'installation d'une nouvelle version du plugin.


    Si non, il vaut mieux créer à la main un dossier sfApply/template dans le dossier module de l'application et y mettre le template que l'on veut modifier, toujours dans l'idée de ne pas modifier le code du plugin.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 61
    Par défaut
    J'ai un peu de mal à faire fonctionner l'i18n ('fin, ça s'active mais à priori ça ne traduit pas..) ; je galère encore avec Symfony, mais je vais finir par trouver ! Merci en tout cas pour le conseil, j'aimerais prendre directement de bonnes habitudes.

Discussions similaires

  1. [AC-2010] Affichage d'un champ perso et non l'ID
    Par black is beautiful dans le forum IHM
    Réponses: 10
    Dernier message: 05/04/2012, 22h14
  2. Champs persos avec sfGuardUser
    Par NainTernaute dans le forum Plugins
    Réponses: 6
    Dernier message: 28/04/2011, 10h37
  3. Champs perso envoi
    Par NoobX dans le forum Outlook
    Réponses: 0
    Dernier message: 28/11/2010, 12h02
  4. MS Project serveur 2007 champs perso
    Par Neya75016 dans le forum Project
    Réponses: 1
    Dernier message: 02/12/2008, 22h42
  5. Zone de texte et champ perso
    Par Darkjeff99 dans le forum Visio
    Réponses: 15
    Dernier message: 12/08/2008, 15h10

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