Agregar un icono a un form_widget(form.save)

¿Alguien me podría decir cómo puedo incluir un icono dentro del widget tipo submit? He intentado incluir en un attr: class el "icono_de_boostrap" pero me desconfigura el tamaño de letra y botón.

Esto es lo que quiero conseguir:

<button type="submit" class="btn btn-warning">
    <span class="glyphicon glyphicon-star"></span>Save
</button>

pero con el widget:

{{ form_widget(form.Save, { attr: { class: "btn btn-warning" } }) }}

Respuestas

#1

Tienes tres posibles soluciones:

1) Si mostrar botones es algo importantísimo en la aplicación y lo usas una y otra vez, es mejor que te crees una extensión de formulario, tal y como se explica aquí.

2) Si tienes algo de experiencia con los temas de formularios, puedes redefinir simplemente la plantilla usada para renderizar esos botones, tal y como se explica aquí.

3) Si no te convence ninguna de las anteriores soluciones, yo añadiría el código HTML del botón a mano dentro de la plantilla del formulario. Para que te funcione el form_rest() y form_end(), tienes que marcar a mano el campo como renderizado. Para ello, usa esta instrucción en la plantilla:

{% do form.Save.setRendered %}