123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- {% macro render_field(form, fields, scope) %}
- {% import _self as self %}
- {% for index, field in fields %}
- {%- set show_field = attribute(field, "input@") ?? field.store ?? true %}
- {% if field.fields %}
- {%- set new_scope = field.nest_id ? scope ~ field.name ~ '.' : scope -%}
- {{- self.render_field(form, field.fields, new_scope) }}
- {% else %}
- {% if show_field %}
- {%- set value = form.value(scope ~ (field.name ?? index)) -%}
- {% if value %}
- {% block field %}
- <div>
- {% block field_label %}
- <strong>{{ field.label|t|e }}</strong>:
- {% endblock %}
- {% block field_value %}
- {% if field.type == 'checkboxes' %}
- <ul>
- {% set use_keys = field.use is defined and field.use == 'keys' %}
- {% for key,value in form.value(scope ~ field.name) %}
- {% set index = (use_keys ? key : value) %}
- <li>{{ field.options[index]|e }}</li>
- {% endfor %}
- </ul>
- {% elseif field.type == 'checkbox' %}
- {{ (form.value(scope ~ field.name) == 1) ? "GRAV.YES"|t|e : "GRAV.NO"|t|e }}
- {% elseif field.type == 'select' %}
- {{ field.options[form.value(scope ~ field.name)]|e }}
- {% else %}
- {% set value = form.value(scope ~ field.name) %}
- {% if value is iterable %}
- <ul>
- {% for val in value %}
- {% if val is iterable %}
- <ul>
- {% for v in val %}
- <li>{{ string(v)|e }}</li>
- {% endfor %}
- </ul>
- {% else %}
- <li>{{ string(val)|e }}</li>
- {% endif %}
- {% endfor %}
- </ul>
- {% else %}
- {{ string(value)|e|nl2br }}
- {% endif %}
- {% endif %}
- {% endblock %}
- </div>
- {% endblock %}
- {% endif %}
- {% endif %}
- {% endif %}
- {% endfor %}
- {% endmacro %}
- {% import _self as macro %}
- {{ macro.render_field(form, form.fields, '') }}
|