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 :

Accéder à un attribut dans un formulaire [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 47
    Par défaut Accéder à un attribut dans un formulaire
    Bonsoir,

    Je suis paumé, mais pas loin de la solution, je le sens.

    Dans mon actions.class.php, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      public function executeNew(sfWebRequest $request)
      {
    	//Je crée un objet DataProfile 
    	$dp = new DataProfile();
     
    	//Je cherche la valeur, ici avec id=1
    	$this->forward404Unless($dp = Doctrine::getTable('DataProfile')->find(1), sprintf('Object file_profile does not exist'));
     
    	//Je passe l'objet DataProfile dans le formulaire FileProfileForm
        $this->form = new FileProfileForm(array(),array('currentDataProfile',$dp));
      }
    et dans le formulaire, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      public function configure()
      {
     
    	$x = $this->getOption('currentDataProfile')->getUserId();
     
    	unset(
    		$this['created_at'],$this['updated_at']
    		);
     
      }
    Mais j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to a member function getUserId() on a non-object
    Dans le contrôleur, j'ai vérifié, la fonction $dp->getUserId() fonctionne très bien.

    Mais dans le formulaire, cette même fonction ne passe pas

    Note, j'ai aussi tenté un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      public function configure()
      {
    	$x = new DataProfile();
     
    	$x = $this->getOption('currentDataProfile');
     
    	$y = $x->getUserId();
     
    	unset(
    		$this['created_at'],$this['updated_at']
    		);
     
      }
    Qui ne fonctionne pas mieux

    Est-ce que quelqu'un peut m'aider ?

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 47
    Par défaut
    Hop, après quelques heures, j'ai UNE solution, comme un grand.

    En fait, quand je passe un objet dans l'option d'un formulaire, alors celui-ci est traité comme un tableau.

    on n'y accède alors directement par $x('attribut'), et non par $x->getAttribut()

    dans mon exemple, j'aurai alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      public function configure()
      {
     
    	$x = $this->getOption('user_id');
     
    	unset(
    		$this['created_at'],$this['updated_at']
    		);
     
      }
    et je peux simplifier le action.class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function executeNew(sfWebRequest $request)
      {
     
    	//Je cherche la valeur, ici avec id=1
    	$this->forward404Unless($dp = Doctrine::getTable('DataProfile')->find(1), sprintf('Object file_profile does not exist'));
     
    	//Je passe l'objet DataProfile dans le formulaire FileProfileForm
        $this->form = new FileProfileForm(array(),$dp);
      }

  3. #3
    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
    Je veux bien.

    Mais que diable vient faire cet objet dans les options d'un form ? Je n'ai jamais eu besoin d'une tel construction (ni jamais vu). Ma curiosité est exacerbée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. attribut action dans un formulaire
    Par philippe6 dans le forum Langage
    Réponses: 31
    Dernier message: 11/08/2012, 02h15
  2. [AC-2007] erreur lors de modification d'attribut dans un formulaire
    Par j.lebowski dans le forum IHM
    Réponses: 2
    Dernier message: 13/07/2010, 13h37
  3. Accéder à une requête dans un formulaire
    Par Valky dans le forum IHM
    Réponses: 6
    Dernier message: 14/06/2010, 14h52
  4. Réponses: 2
    Dernier message: 29/05/2007, 16h49
  5. Accéder à un espace Excel dans un formulaire Access
    Par Ronin-MK dans le forum Access
    Réponses: 6
    Dernier message: 14/11/2005, 21h05

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