Question

J'utilise Symfony 1.2 dans une classe de formulaire Propel standard.

public function configure()
{
    $this->setWidgets(array( 
'graduate_job_title' => new sfWidgetFormInput( array(), array( 'maxlength' => 80, 'size' => 30, 'value' => '' ) )
    ));
    //etc
}

Cependant, je souhaite que la valeur de ce champ provienne des informations utilisateur, auxquelles j'accéderais normalement à l'aide de $ this- > getUser () - > getAttribute ('...') . Cependant, cela ne semble pas fonctionner sous la forme.

Que devrais-je utiliser?

Était-ce utile?

La solution

Est-ce que ça marche?

sfContext::getInstance()->getUser()->getAttribute('...');

// Modifier : reportez-vous à la recommandation de cirpo sur l'utilisation de sfContext.

Autres conseils

C'est une très mauvaise idée de s'appuyer sur l'instance sfContext. Il est préférable de transmettre ce dont vous avez besoin lors de l’initialisation de sfForm dans le paramètre options array.

http://www.symfony-project.org/api/1_4/sfForm

__ méthode de construction

par exemple dans votre action:

$form = new myForm(null, 
                   array('attributeFoo' => 
                         $this->getUser()->getAttribute('attributeFoo'));

puis récupérez la valeur à l'intérieur de la classe de formulaire:

  

$ this- > getOption ('attributFoo');

cirpo

Dans Symfony 1.4, l'objet $ sf_user

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top