checkboxes.html.twig 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. {% extends "forms/field.html.twig" %}
  2. {% set originalValue = value %}
  3. {% set value = (value is null ? field.default : value) %}
  4. {% if field.use == 'keys' and field.default %}
  5. {% set value = field.default|merge(value) %}
  6. {% endif %}
  7. {% block global_attributes %}
  8. {{ parent() }}
  9. data-grav-keys="{{ field.use == 'keys' ? 'true' : 'false' }}"
  10. data-grav-field-name="{{ (scope ~ field.name)|fieldName }}"
  11. {% endblock %}
  12. {% block input %}
  13. {% for key, text in field.options %}
  14. {% set id = field.id|default(field.name) ~ '-' ~ key %}
  15. {% set name = field.use == 'keys' ? key : id %}
  16. {% set val = field.use == 'keys' ? '1' : key %}
  17. {% set checked = (field.use == 'keys' ? value[key] : key in value) %}
  18. {% set help = (key in field.help_options|keys ? field.help_options[key] : false) %}
  19. <div class="checkboxes {{ form_field_wrapper_classes }} {{ field.wrapper_classes }}">
  20. <input type="checkbox"
  21. id="{{ id|e }}"
  22. value="{{ val|e }}"
  23. name="{{ (scope ~ field.name)|fieldName ~ '[' ~ name ~ ']' }}"
  24. {% if checked %}checked="checked"{% endif %}
  25. {% if field.classes is defined %}class="{{ field.classes }}" {% endif %}
  26. {% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
  27. >
  28. <label style="display: inline" for="{{ id|e }}">
  29. {% if help %}
  30. <span class="hint--bottom" data-hint="{{ help|t|e('html_attr') }}">{{ text|t|e }}</span>
  31. {% else %}
  32. {{ text|t|e }}
  33. {% endif %}
  34. </label>
  35. </div>
  36. {% endfor %}
  37. {% endblock %}