{% extends 'forms/' ~ layout|default('field') ~ '.html.twig' %} {# If values contains a plain list of items, we need to reindex them. #} {% set value = not field.key and value is iterable and value|length ? value|values : value|default(field.default) %} {% block field %} {% if field.is_current %}
{% for key, val in value %} {% set title = (field.value == field.key ? key : val[field.value]) %}

{{ title }}

{{ block('collection_fields') }}
{% endfor %}
{% else %} {% set can_reorder = field.reorder is defined ? field.reorder : true %} {% set can_remove = field.deletion is defined ? field.deletion : true %} {% set can_addnew = field.add_new is defined ? field.add_new : true %}
{% if overrideable and (field.overridable is not defined or field.overridable == true) and field.type != 'container.set' %} {% endif %} {% block contents %} {% set field_route = (route ~ '.' ~ prefix ~ '.' ~ field.name)|replace('.', '/') %} {% block label %} {% if field.description %} {{ field.label|e }} {% else %} {{ field.label|e }} {% endif %} {{ field.validate.required in ['on', 'true', 1] ? '*' }} {% endblock %}
{% block input -%}
    {%- if field.fields -%} {% for key, val in value %} {% if (field.ajax == true) %}
  • {% set itemValue = field.value == field.key ? key : val[field.value] %} {% if can_reorder %}{% endif %} {{ itemValue|e }} {% if can_remove %}{% endif %} {% if can_addnew %}{% endif %}
  • {% else %} {% block collection_fields %}
    {% for childName, child in field.fields %} {% if childName starts with '.' %} {% set childKey = childName|trim('.') %} {% set childValue = val[childName[1:]] %} {% set childDefault = default_value[childName[1:]] %} {% set childName = name ~ '.' ~ key ~ childName %} {% else %} {% set childKey = childName %} {% set childValue = nested(data, scope ~ childName) %} {% set childDefault = nested(defaults, scope ~ childName) %} {% set childName = childName|replace({'*': key}) %} {% endif %} {% if childName not in skip and not child.skip and field.value != childKey %} {% if child.type == 'key' %} {% include 'forms/fields/key/key.html.twig' with {name: childName, field: child, value: key} %} {% elseif child.type %} {% include ["forms/fields/" ~ child.type|replace('.', '/') ~ ".html.twig", 'forms/fields/unknown/unknown.html.twig'] with {name: childName, field: child, value: childValue, default_value: childDefault, prefix: (prefix ? prefix ~ '.' : '') ~ childName} %} {% endif %} {% endif %} {% endfor %}
    {% endblock %} {% endif %} {% endfor %} {%- endif -%}
  • {% if can_reorder %}{% endif %} New item {% if can_remove %}{% endif %} {% if can_addnew %}{% endif %}
{% if can_addnew %}{% endif %}
{% endblock %}
{% endblock %}
{% endif %} {% endblock %}