Cacher un input dans le template
Bonjour,
Dans un template, je cherche à cacher des champs de type file au cas où on est en mode édition du formulaire. Pour ce faire j'ai procédé comme suit :
Code:
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
|
<h4>Photos</h4>
<ul class= "photos" data-prototype= " {{ form_widget ( form.photos.vars.prototype )| e ( 'html_attr' ) }} " >
{# iterate over each existing photo and render its only field: name #}
{% set i = 0 %}
{% for photo in form.photos %}
<li id="li_photo_{{ i }}">
{% if editMode == 1 %}
{{ form_row ( photo.file, { 'attr': {'class': 'hidden-row'} }) }}
{% else %}
{{ form_row ( photo.file ) }}
{% endif %}
{{ form_row ( photo.mainPhoto ) }}
{{ form_row ( photo.name ) }}
{% if editMode and form.photos %}
<img id="photo_{{ i }}" src="{{ asset('uploads/photos/') }}{{ recordedPhotosNames[i] }}" width="100" alt="Photo{{ i + 1 }}">
{% set i = i + 1 %}
{% endif %}
</li>
{% endfor %}
</ul> |
Lorsque je suis en mode édition (editMode == 1), les inputs de type file sont tout de même affichés malgré que, dans mes sources, ce soit ceci qui est généré :
Code:
1 2
|
<input type="file" id="photos_advert_photos_1_file" name="photos_advert[photos][1][file]" class="hidden-row custom-file-input" /> |
Quelqu'un aurait une idée sur la manière de procéder?
Merci d'avance pour votre aide.