Skip to content

Commit bcbe99f

Browse files
Jannik Zschieschefabpot
authored andcommitted
[Form] Improve rendering of file field in bootstrap 4
1 parent b403745 commit bcbe99f

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

Resources/views/Form/bootstrap_4_layout.html.twig

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,16 @@
114114
</div>
115115
{%- endblock percent_widget %}
116116

117+
{% block file_widget -%}
118+
<div class="form-group">
119+
<{{ element|default('div') }} class="custom-file">
120+
{%- set type = type|default('file') -%}
121+
{{- block('form_widget_simple') -}}
122+
<label for="{{ form.vars.id }}" class="custom-file-label">Choose File</label>
123+
</{{ element|default('div') }}>
124+
</div>
125+
{% endblock %}
126+
117127
{% block form_widget_simple -%}
118128
{% if type is not defined or type != 'hidden' %}
119129
{%- set attr = attr|merge({class: (attr.class|default('') ~ (type|default('') == 'file' ? ' custom-file-input' : ' form-control'))|trim}) -%}
@@ -186,8 +196,6 @@
186196
{%- if compound is defined and compound -%}
187197
{%- set element = 'legend' -%}
188198
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' col-form-label')|trim}) -%}
189-
{% elseif type is defined and type == 'file' %}
190-
{%- set label_attr = label_attr|merge({for: id, class: (label_attr.class|default('') ~ ' custom-file-label')|trim}) -%}
191199
{%- else -%}
192200
{%- set label_attr = label_attr|merge({for: id}) -%}
193201
{%- endif -%}
@@ -269,15 +277,6 @@
269277
</{{ element|default('div') }}>
270278
{%- endblock form_row %}
271279

272-
{% block file_row -%}
273-
<div class="form-group">
274-
<{{ element|default('div') }} class="custom-file">
275-
{{- form_widget(form) -}}
276-
{{- form_label(form) -}}
277-
</{{ element|default('div') }}>
278-
</div>
279-
{% endblock %}
280-
281280
{# Errors #}
282281

283282
{% block form_errors -%}

0 commit comments

Comments
 (0)