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 :

Comment creer un module mon compte?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut Comment creer un module mon compte?
    Bonjour à tous, je souhaite créer un module "mon compte" pour que les utilisateurs puissent avoir une page avec toutes les informations les concernant.
    Comment puis je procéder pour la création de celle ci?
    j'ai une table "profile" relier a ma table "sf_guard_user" du plugin sfdoctrineguardplugin.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Qu'est ce qui te pose problème précisément ?

    En quoi ça serait différent d'un autre module ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    je ne sais pas sur quel piste partir, pour le moment j'utilisais l'admin generator, donc j'ai déjà un module pour gérer les utilisateurs et j'ai vu qu'on ne peut pas ajouter deux modules sur le même modèle, donc la je part sur un module CRUD vierge "account" qui sera seulement une page fixe recapitulant le profile de l'utilisateur.
    Mais pour accéder aux information de l'utilisateur je ne sais pas comment proceder.

    Il y a t'il des methodes a partir de sf_user pour récupérer les infos de ma table sf_guard_user et profile ?
    ou bien faut-il que j'effectue des requêtes doctrine moi même?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si tu as correctement suivi l'install du plugin sfDoctrineGuardPlugin tu as du normalement changer la déclaration de la classe myUser par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class myUser extends sfGuardSecurityUser
    {
    }
    En supposant que ta relation entre Profile et sfGuardUser soit correcte, tu peux donc faire, dans une action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getUser()->getGuardUser()->getProfile()
    Sinon tu peux aussi ajouter dans myUser.class.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public function getProfile()
    {
      return $this->getGuardUser()->getProfile()
    }
    et faire dans tes actions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getUser()->getProfile()

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    je ne peut pas faire un getProfile car profile est le nom de ma table,
    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sf_user->getGuardUser()->profiles->getName(); ?>
    mais ça ne fonctionne pas,
    le probléme c'est que ma clef étrangère est dans ma table profile avec comme foreign alias profiles, si ma clef été dans ma table sf_guard_user ça serai possible ou pas?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Non, la FK elle est bien là où elle est. Fait voir ce que tu as fait dans ton schema.yml

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par symfony30000 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sf_user->getGuardUser()->profiles->getName(); ?>
    Ceci ne fonctionne pas car d'après le schema.yml, un sfGuardUser peut avoir plusieurs profiles.
    Il faudrait donc faire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($sf_user->getGuardUser()->profiles as $profile)
    {
      echo $profile->getName();
    }
    Mais je pense que dans ton cas, tu souhaites qu'un sfGuardUser n'ai qu'un seul profile attaché. Dans ce cas je te suggère plutôt de modifier la relation sur profile de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    relations:
        sfGuardUser:
          class: sfGuardUser
          local: sf_guard_user_id
          foreign: id
          foreignAlias: Profile
          foreignType: one
    De cette façon tu devrais pouvoir faire comme j'ai indiqué un peu avant

Discussions similaires

  1. Comment demander la suppression de mon compte ?
    Par gaetan.tranvouez dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 04/09/2006, 03h00
  2. [FLASH 8] Comment créer mon animation
    Par emstar dans le forum Flash
    Réponses: 8
    Dernier message: 12/07/2006, 17h28
  3. Réponses: 16
    Dernier message: 16/05/2006, 12h37
  4. [debutant][outils] comment creer mon site web?
    Par jolio dans le forum Général Conception Web
    Réponses: 14
    Dernier message: 18/10/2005, 17h59
  5. [reseaux] Comment creer un compte user à partir d'un formul avec perl
    Par oulai_evado dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 01/10/2002, 19h54

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