Bonjour,
j’ai besoin de personnaliser un formulaire HTML sous symfony 2.8
J’ai utilisé les form_theme pour personnaliser des input radio.
Ca fonctionne bien, ca récupéré le code et j’obtiens bien le HTML désiré, sauf que la balise LABEL est répété :
- celle de mon form_theme et celle de base (par contre le input n’est pas répété).
Voici le code :
le form_theme
{# app/Resources/views/form/fields.html.twig #}
{% block radio_widget %}
{% spaceless %}
<div class="col-md-4 col-sm-4 col-xs-12">
<label for="{{ id }}" class="required">
<input type="radio" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
<span></span>{{ label }}
</label>
</div>
{% endspaceless %}
{% endblock radio_widget %}
L’utilisation du form_theme
...
{% form_theme form 'form/fields.html.twig' %}
...
<div class="row">
{{ form_widget(form.raison, {'attr': {'class': ''}}) }}
</div>
....
au final, j’obtiens le code HTML suivant :
<div class="row">
<div id="form_raison" class="">
<div class="col-md-4 col-sm-4 col-xs-12">
<input type="radio" id="form_raison_1" name="form[raison]" required="required" value="1">
<label for="form_raison_1" class="required"><span></span>Radio 1</label>
</div>
<label for="form_raison_1" class="required">Radio 1</label> <!-- Label en double -->
<div class="col-md-4 col-sm-4 col-xs-12">
<input type="radio" id="form_raison_2" name="form[raison]" required="required" value="2">
<label for="form_raison_2" class="required"><span></span>Radio 2</label>
</div>
<label for="form_raison_2" class="required">Radio 2</label> <!-- Label en double -->
<div class="col-md-4 col-sm-4 col-xs-12">
<input type="radio" id="form_raison_3" name="form[raison]" required="required" value="3">
<label for="form_raison_3" class="required"><span></span>Radio 3</label>
</div>
<label for="form_raison_3" class="required">Radio 3</label> <!-- Label en double -->
</div>
</div>
J’ai mis un commentaire sur la balise LABEL en double que j’aimerai ne pas avoir.
Merci de votre aide