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 39 40 41 42 43 44 45 46 47 48 49
|
// Acme/DemoBundle/Form/Type/ModuleControleType.php
class ModuleControleType extends AbstractType
{
use Description;
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$this->description($builder, 2);
// Ici tu mets les champs que tu veux, généralement liés à l'entité, ici : AdministrationBundle\Entity\ModuleControle
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AdministrationBundle\Entity\ModuleControle',
'intention' => $this->getName() . '_token',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('mc')
->orderby('mc.name', 'ASC')
->where('PatatiPatata');
}
));
}
/**
* Ici il faut que tu précises que le champ de formulaire que tu viens de créés hérite du champs de formulaire de type <a href="http://symfony.com/doc/current/reference/forms/types/entity.html" target="_blank">entity</a> pour que le query_builder fonctionne.
* Sinon par défaut, ton champ de formulaire hérite directement de <a href="http://symfony.com/doc/current/reference/forms/types/form.html" target="_blank">Form</a> qui n'a pas de notions de query_builder.
*/
public function getParent()
{
return 'entity';
}
/**
* @return string
*/
public function getName()
{
return 'administration_module_controle_form';
}
} |
Partager