Insertar atributo html5 data-* en Symfony2

Hola a todos.

Mi duda es como puedo añadir los atributos personalizados de HTML5 (data-url, data-img, etc.) a la clase de formularios.

Estoy haciendo un proyecto donde tengo una clase formulario y en una parte contiene:

$builder
    ->add('turno', 'choice', array('choices' => array('manana' => 'Mañana', 'tarde' => 'Tarde')))

Mi intención es añadir un data-url para cada turno, algo como:

data-url="{{ url('cambiar_turno', {'turno':   }) }}"

Mi objetivo es que cada vez que el usuario cambia de turno, por medio de JavaScript le rediriga a un formulario distinto (eso ya se como hacerlo mi duda es donde poner el data-url dentro de la clase de formulario).

Respuestas

#1

Simplemente añádelo como un atributo normal (mediante la opción attr) y no te olvides a de añadir el data- por delante:

$builder
    ->add('turno', 'choice', array(
        'choices' => array('manana' => 'Mañana', 'tarde' => 'Tarde'),
        'attr'    => array('data-url' => ...),
    ))

Lo único complicado será generar la URL, para lo que tendrás que inyectar el servicio correspondiente.