form_widget - Atributo Id en la etiqueta del formulario Symfony
symfony form change label (3)
Me gustaría definir un atributo id en mis formularios symfony2.
He intentado con esto en mi plantilla de ramita:
{{ form_start(form, {''id'': ''form_person_edit''}) }}
Pero parece que no funciona.
¿Has probado attr
?
{{ form_start(form, {''attr'': {''id'': ''form_person_edit''}}) }}
Además, debo agregar a las respuestas antes mencionadas, que puedes hacerlo en tu controlador de esta manera:
$this->createForm(FormTypeInterFace, data, options);
Para una muestra, hice esto así:
$this->createForm(registrationType::class, null, array(
''action'' => $this->generateUrl(''some_route''),
''attr'' => array(
''id'' => ''some_id'',
''class'' => ''some_class''
)
));
Inyecte la identificación en la matriz de opciones que se pasa al generador de formularios:
public function newAction(Request $request)
{
// create a task and give it some dummy data for this example
$task = new Task();
$task->setTask(''Write a blog post'');
$task->setDueDate(new /DateTime(''tomorrow''));
$form = $this->createFormBuilder($task, [''attr'' => [''id'' => ''task-form'']])
->add(''task'', ''text'')
->add(''dueDate'', ''date'')
->add(''save'', ''submit'', [''label'' => ''Create Post''])
->getForm();
return $this->render(''AcmeTaskBundle:Default:new.html.twig'', [
''form'' => $form->createView(),
]);
}
O en un tipo de formulario:
class TaskType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add(''task'')
->add(''dueDate'', null, [''widget'' => ''single_text''])
->add(''save'', ''submit'');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults([
''data_class'' => ''Acme/TaskBundle/Entity/Task'',
''attr'' => [''id'' => ''task-form'']
]);
}
public function getName()
{
return ''task'';
}
}