vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_base_layout.html.twig line 1

Open in your IDE?
  1. {% use "form_div_layout.html.twig" %}
    
    {# Widgets #}
    
    {% block textarea_widget -%}
        {% set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) %}
        {{- parent() -}}
    {%- endblock textarea_widget %}
    
    {% block money_widget -%}
        {% set prepend = not (money_pattern starts with '{{') %}
        {% set append = not (money_pattern ends with '}}') %}
        {% if prepend or append %}
            <div class="input-group {{ group_class|default('') }}">
                {% if prepend %}
                    <span class="input-group-addon">{{ money_pattern|form_encode_currency }}</span>
                {% endif %}
                {{- block('form_widget_simple') -}}
                {% if append %}
                    <span class="input-group-addon">{{ money_pattern|form_encode_currency }}</span>
                {% endif %}
            </div>
        {% else %}
            {{- block('form_widget_simple') -}}
        {% endif %}
    {%- endblock money_widget %}
    
    {% block percent_widget -%}
        {%- if symbol -%}
            <div class="input-group">
                {{- block('form_widget_simple') -}}
                <span class="input-group-addon">{{ symbol|default('%') }}</span>
            </div>
        {%- else -%}
            {{- block('form_widget_simple') -}}
        {%- endif -%}
    {%- endblock percent_widget %}
    
    {% block datetime_widget -%}
        {%- if widget == 'single_text' -%}
            {{- block('form_widget_simple') -}}
        {%- else -%}
            {% set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
            <div {{ block('widget_container_attributes') }}>
                {{- form_errors(form.date) -}}
                {{- form_errors(form.time) -}}
    
                <div class="sr-only">
                    {%- if form.date.year is defined %}{{ form_label(form.date.year) }}{% endif -%}
                    {%- if form.date.month is defined %}{{ form_label(form.date.month) }}{% endif -%}
                    {%- if form.date.day is defined %}{{ form_label(form.date.day) }}{% endif -%}
                    {%- if form.time.hour is defined %}{{ form_label(form.time.hour) }}{% endif -%}
                    {%- if form.time.minute is defined %}{{ form_label(form.time.minute) }}{% endif -%}
                    {%- if form.time.second is defined %}{{ form_label(form.time.second) }}{% endif -%}
                </div>
    
                {{- form_widget(form.date, { datetime: true } ) -}}
                {{- form_widget(form.time, { datetime: true } ) -}}
            </div>
        {%- endif -%}
    {%- endblock datetime_widget %}
    
    {% block date_widget -%}
        {%- if widget == 'single_text' -%}
            {{- block('form_widget_simple') -}}
        {%- else -%}
            {%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
            {%- if datetime is not defined or not datetime -%}
                <div {{ block('widget_container_attributes') -}}>
            {%- endif %}
            {%- if label is not same as(false) -%}
                <div class="sr-only">
                    {{ form_label(form.year) }}
                    {{ form_label(form.month) }}
                    {{ form_label(form.day) }}
                </div>
            {%- endif -%}
    
                {{- date_pattern|replace({
                    '{{ year }}': form_widget(form.year),
                    '{{ month }}': form_widget(form.month),
                    '{{ day }}': form_widget(form.day),
                })|raw -}}
            {%- if datetime is not defined or not datetime -%}
                </div>
            {%- endif -%}
        {%- endif -%}
    {%- endblock date_widget %}
    
    {% block time_widget -%}
        {%- if widget == 'single_text' -%}
            {{- block('form_widget_simple') -}}
        {%- else -%}
            {%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
            {%- if datetime is not defined or false == datetime -%}
                <div {{ block('widget_container_attributes') -}}>
            {%- endif -%}
            {%- if label is not same as(false) -%}<div class="sr-only">{{ form_label(form.hour) }}</div>{%- endif -%}
            {{- form_widget(form.hour) -}}
            {%- if with_minutes -%}:{%- if label is not same as(false) -%}<div class="sr-only">{{ form_label(form.minute) }}</div>{%- endif -%}{{ form_widget(form.minute) }}{%- endif -%}
            {%- if with_seconds -%}:{%- if label is not same as(false) -%}<div class="sr-only">{{ form_label(form.second) }}</div>{%- endif -%}{{ form_widget(form.second) }}{%- endif -%}
            {%- if datetime is not defined or false == datetime -%}
                </div>
            {%- endif -%}
        {%- endif -%}
    {%- endblock time_widget %}
    
    {%- block dateinterval_widget -%}
        {%- if widget == 'single_text' -%}
            {{- block('form_widget_simple') -}}
        {%- else -%}
            {%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
            <div {{ block('widget_container_attributes') }}>
                {{- form_errors(form) -}}
                <div class="table-responsive">
                    <table class="table {{ table_class|default('table-bordered table-condensed table-striped') }}" role="presentation">
                        <thead>
                        <tr>
                            {%- if with_years %}<th>{{ form_label(form.years) }}</th>{% endif -%}
                            {%- if with_months %}<th>{{ form_label(form.months) }}</th>{% endif -%}
                            {%- if with_weeks %}<th>{{ form_label(form.weeks) }}</th>{% endif -%}
                            {%- if with_days %}<th>{{ form_label(form.days) }}</th>{% endif -%}
                            {%- if with_hours %}<th>{{ form_label(form.hours) }}</th>{% endif -%}
                            {%- if with_minutes %}<th>{{ form_label(form.minutes) }}</th>{% endif -%}
                            {%- if with_seconds %}<th>{{ form_label(form.seconds) }}</th>{% endif -%}
                        </tr>
                        </thead>
                        <tbody>
                        <tr>
                            {%- if with_years %}<td>{{ form_widget(form.years) }}</td>{% endif -%}
                            {%- if with_months %}<td>{{ form_widget(form.months) }}</td>{% endif -%}
                            {%- if with_weeks %}<td>{{ form_widget(form.weeks) }}</td>{% endif -%}
                            {%- if with_days %}<td>{{ form_widget(form.days) }}</td>{% endif -%}
                            {%- if with_hours %}<td>{{ form_widget(form.hours) }}</td>{% endif -%}
                            {%- if with_minutes %}<td>{{ form_widget(form.minutes) }}</td>{% endif -%}
                            {%- if with_seconds %}<td>{{ form_widget(form.seconds) }}</td>{% endif -%}
                        </tr>
                        </tbody>
                    </table>
                </div>
                {%- if with_invert %}{{ form_widget(form.invert) }}{% endif -%}
            </div>
        {%- endif -%}
    {%- endblock dateinterval_widget -%}
    
    {% block choice_widget_expanded -%}
        {%- if '-inline' in label_attr.class|default('') -%}
            {%- for child in form %}
                {{- form_widget(child, {
                    parent_label_class: label_attr.class|default(''),
                    translation_domain: choice_translation_domain,
                }) -}}
            {% endfor -%}
        {%- else -%}
            <div {{ block('widget_container_attributes') }}>
                {%- for child in form %}
                    {{- form_widget(child, {
                        parent_label_class: label_attr.class|default(''),
                        translation_domain: choice_translation_domain,
                    }) -}}
                {%- endfor -%}
            </div>
        {%- endif -%}
    {%- endblock choice_widget_expanded %}
    
    {# Labels #}
    
    {% block choice_label -%}
        {# remove the checkbox-inline and radio-inline class, it's only useful for embed labels #}
        {%- set label_attr = label_attr|merge({class: label_attr.class|default('')|replace({'checkbox-inline': '', 'radio-inline': '', 'checkbox-custom': '', 'radio-custom': '', 'switch-custom': ''})|trim}) -%}
        {{- block('form_label') -}}
    {% endblock choice_label %}
    
    {% block checkbox_label -%}
        {{- block('checkbox_radio_label') -}}
    {%- endblock checkbox_label %}
    
    {% block radio_label -%}
        {{- block('checkbox_radio_label') -}}
    {%- endblock radio_label %}
    
    {# Rows #}
    
    {% block button_row -%}
        <div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>
            {{- form_widget(form) -}}
        </div>
    {%- endblock button_row %}
    
    {% block choice_row -%}
        {%- set force_error = true -%}
        {{- block('form_row') -}}
    {%- endblock choice_row %}
    
    {% block date_row -%}
        {%- set force_error = true -%}
        {{- block('form_row') -}}
    {%- endblock date_row %}
    
    {% block time_row -%}
        {%- set force_error = true -%}
        {{- block('form_row') -}}
    {%- endblock time_row %}
    
    {% block datetime_row -%}
        {%- set force_error = true -%}
        {{- block('form_row') -}}
    {%- endblock datetime_row %}