Hi, i have tried this:
$this->filter = new BirthdayFormFilter(); $this->filter->setDefault('name', 'Peter'); and this: $a = array('name' =>'Peter'); $this->filter = new BirthdayFormFilter($a); but they didn't work... I forgot to say i want to give the default value inside an action. Here you have the codes: In actions.class.php: public function executeIndex(sfWebRequest $request) { $this->birthday_list = Doctrine::getTable('Birthday') ->createQuery('a') ->execute(); $a = array('name' =>'Peter'); $this->filter = new BirthdayFormFilter($a); } and indexSuccess.php contents: <?php echo form_tag('birthday/filtrar') ?> <?php echo $filter; ?> <div><?php echo submit_tag('Filter') ?></div> </form> Javi On Feb 15, 7:28 pm, Florian <sideral.undergro...@gmail.com> wrote: > Hello, > > To my mind, you should use this method: > > {{{ > > $this->filter->setDefault('name', 'Peter'); > > }}} > > It's more correct, because semantically, you want set a default value > to your form, not to your model object! > > But if you want to set use the contructor of the sfFormFilter > > BaseForm > sfFormSymfony, see it's signature: > > public function __construct($defaults = array(), $options = array(), > $CSRFSecret = null); > > So you can pass an *array* of default values as first argument. > > It's different from your Birthday form, which inherits from > sfFormDoctrine, see it's signature: > > public function __construct($object = null, $options = array(), > $CSRFSecret = null) > > here, the first argument has to be null OR a Doctrine ActiveRecord / > Object. > > Hope it helps! > > /Florian > > On 15 fév, 16:49, "NOOVEO - Christophe Brun" <c.b...@nooveo.fr> wrote: > > > I am working on the 'list' view of a module. > > The filtered list is displayed via a call to the executeFilter() method, as > > usual. > > > Now, I create a route and the appropriate method myModuleActions : > > > public function executeUseMyFilter(sfWebRequest $request) { > > $id = $this->getRoute()->getObject()->getId(); > > > // force the filter value to myotherobj_id = #the id in the route // > > // ?????????????????? // > > > return $this->executeFilter($request); > > > } > > > But I can't find the way to modify the filters and to force the > > exceuteFilter() method to display only the list of objects having > > myotherobj_id = $id. > > > ________________________________ > > > De : symfony-users@googlegroups.com [mailto:symfony-us...@googlegroups.com] > > De la part de Javier Garcia > > Envoyé : lundi 15 février 2010 14:23 > > À : symfony-users@googlegroups.com > > Objet : [symfony-users] Trying to give a default value to a filter form > > > Hi, > > > im trying to give a default value to a field of a filter. > > > I have no problems giving a default value to a form this way: > > > $m = new Birthday(); > > $m->setName('Peter'); > > $this->filter = new BirthdayForm($m); > > > But when i try this: > > > $m = new Birthday(); > > $m->setName('Peter'); > > $this->filter = new BirthdayFormFilter($m); > > > this error appears: > > > Warning: array_merge() [function.array-merge > > <http://rs.localhost/frontend_dev.php/function.array-merge> ]: Argument #2 > > is not an array in > > /opt/lampp/htdocs/rs/lib/vendor/symfony/lib/form/sfForm.class.php on line > > 1023 > > > Any idea? > > > Javi > > > -- > > You received this message because you are subscribed to the Google Groups > > "symfony users" group. > > To post to this group, send email to symfony-us...@googlegroups.com. > > To unsubscribe from this group, send email to > > symfony-users+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/symfony-users?hl=en. -- You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-us...@googlegroups.com. To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en.