data.html.twig 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. {% macro render_field(form, fields, scope) %}
  2. {% import _self as self %}
  3. {% for index, field in fields %}
  4. {% set input = attribute(field, "input@") %}
  5. {% if input is null or input == true %}
  6. {% if form.value(scope ~ field.name) %}
  7. {% block field %}
  8. <div>
  9. {% block field_label %}
  10. <strong>{{ field.label|t|e }}</strong>:
  11. {% endblock %}
  12. {% block field_value %}
  13. {% if field.type == 'checkboxes' %}
  14. <ul>
  15. {% set use_keys = field.use is defined and field.use == 'keys' %}
  16. {% for key,value in form.value(scope ~ field.name) %}
  17. {% set index = (use_keys ? key : value) %}
  18. <li>{{ field.options[index]|e }}</li>
  19. {% endfor %}
  20. </ul>
  21. {% elseif field.type == 'checkbox' %}
  22. {{ (form.value(scope ~ field.name) == 1) ? "GRAV.YES"|t|e : "GRAV.NO"|t|e }}
  23. {% elseif field.type == 'select' %}
  24. {{ field.options[form.value(scope ~ field.name)]|e }}
  25. {% else %}
  26. {{ string(form.value(scope ~ field.name))|nl2br }}
  27. {% endif %}
  28. {% endblock %}
  29. </div>
  30. {% endblock %}
  31. {% endif %}
  32. {% else %}
  33. {% if field.fields %}
  34. {% set new_scope = field.nest_id ? scope ~ field.name ~ '.' : scope %}
  35. {{ self.render_field(form, field.fields, new_scope) }}
  36. {% endif %}
  37. {% endif %}
  38. {% endfor %}
  39. {% endmacro %}
  40. {% import _self as macro %}
  41. {{ macro.render_field(form, form.fields, '') }}