Comment obtenir des données utilisateur sous forme dans Symfony 1.2?
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?
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
Si quelqu'un a besoin de la même chose dans admin (backend), voici une solution: http: // blog .nevalon.de / fr / comment utiliser-moi-le-droit-traitement 20100729 administration en symfony générateur sous forme d'administration
Dans Symfony 1.4, l'objet $ sf_user