bon j'ai trouvé qu'il y avait moyen de saisir des valeurs par défaut à la construction du formulaire:
Listing 1-14 - Valeurs par défaut des Widgets via le construteur de `sfForm`
sauf que quand on teste, on a ce message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->form = new ContactForm(array('email' => 'Votre email ici', 'name' => 'Votre nom ici'));
en cherchant sur le net j'ai trouvé le constructeur de sfForm:
Code : Sélectionner tout - Visualiser dans une fenêtre à part The "GrpeChqDejListForm" form only accepts a "GrpeChqDejList" object.
effectivemement le premier parametre attend un object et non un array, mais la je doit avouer que je bloque, comment transformer cette array en objet accepté par le contructeur ?
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
26
27
28
29
30
31
32
33
34
35
36
37
38 abstract class sfFormDoctrine extends sfForm { protected $isNew = true, $object = null; /** * Constructor. * * @param BaseObject A Doctrine object used to initialize default values * @param array An array of options * @param string A CSRF secret (false to disable CSRF protection, null to use the global CSRF secret) * * @see sfForm */ public function __construct($object = null, $options = array(), $CSRFSecret = null) { $class = $this->getModelName(); if (!$object) { $this->object = new $class(); } else { if (!$object instanceof $class) { throw new sfException(sprintf('The "%s" form only accepts a "%s" object.', get_class($this), $class)); } $this->object = $object; $this->isNew = !$this->object->exists(); } parent::__construct(array(), $options, $CSRFSecret); $this->updateDefaultsFromObject(); }
Partager