views-exposed-form.html.twig

Default theme implementation of a views exposed form.

Available variables:

  • widgets: A list of exposed form widgets. Each widget contains:

    • label: The sanitized label of the widget.
    • id: The ID of the widget, if available.
    • operator: The select element for the operator widget.
    • description: The sanitized description of the widget.
    • widget: The widget itself.
    • index: the widget's row index.
  • form: A render element representing the form.
    • sort_by: An optional select element to sort the view by fields.
    • sort_order: An optional select element with ascending or descending order options.
    • items_per_page: An optional select element for the available items per page.
    • offset: An optional textfield to define the offset of the view.
    • reset_button: An optional button to reset the exposed filter applied.

See also

template_preprocess()

template_preprocess_views_exposed_form()

File

drupal/core/modules/views/templates/views-exposed-form.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Default theme implementation of a views exposed form.
  5. *
  6. * Available variables:
  7. * - widgets: A list of exposed form widgets. Each widget contains:
  8. * - label: The sanitized label of the widget.
  9. * - id: The ID of the widget, if available.
  10. * - operator: The select element for the operator widget.
  11. * - description: The sanitized description of the widget.
  12. * - widget: The widget itself.
  13. * - index: the widget's row index.
  14. * - form: A render element representing the form.
  15. * - sort_by: An optional select element to sort the view by fields.
  16. * - sort_order: An optional select element with ascending or
  17. * descending order options.
  18. * - items_per_page: An optional select element for the available items per
  19. * page.
  20. * - offset: An optional textfield to define the offset of the view.
  21. * - reset_button: An optional button to reset the exposed filter applied.
  22. *
  23. * @see template_preprocess()
  24. * @see template_preprocess_views_exposed_form()
  25. *
  26. * @ingroup themeable
  27. */
  28. #}
  29. {% if q is not empty %}
  30. {#
  31. This ensures that, if clean URLs are off, the 'q' is added first,
  32. as a hidden form element, so that it shows up first in the POST URL.
  33. #}
  34. {{ q }}
  35. {% endif %}
  36. <div class="views-exposed-form">
  37. <div class="views-exposed-widgets clearfix">
  38. {% for index, widget in widgets %}
  39. <div id="{{ widget.id }}-wrapper" class="views-exposed-widget views-widget-{{ index }}">
  40. {% if widget.label %}
  41. <label for="{{ widget.id }}">
  42. {{ widget.label }}
  43. </label>
  44. {% endif %}
  45. {% if widget.operator %}
  46. <div class="views-operator">
  47. {{ widget.operator }}
  48. </div>
  49. {% endif %}
  50. <div class="views-widget">
  51. {{ widget.widget }}
  52. </div>
  53. {% if widget.description %}
  54. <div class="description">
  55. {{ widget.description }}
  56. </div>
  57. {% endif %}
  58. </div>
  59. {% endfor %}
  60. {% if form.sort_by %}
  61. <div class="views-exposed-widget views-widget-sort-by">
  62. {{ form.sort_by }}
  63. </div>
  64. <div class="views-exposed-widget views-widget-sort-order">
  65. {{ form.sort_order }}
  66. </div>
  67. {% endif %}
  68. {% if form.items_per_page %}
  69. <div class="views-exposed-widget views-widget-per-page">
  70. {{ form.items_per_page }}
  71. </div>
  72. {% endif %}
  73. {% if form.offset %}
  74. <div class="views-exposed-widget views-widget-offset">
  75. {{ form.offset }}
  76. </div>
  77. {% endif %}
  78. <div class="views-exposed-widget views-submit-button">
  79. {{ form }}
  80. </div>
  81. {% if form.reset_button %}
  82. <div class="views-exposed-widget views-reset-button">
  83. {{ form.reset_button }}
  84. </div>
  85. {% endif %}
  86. </div>
  87. </div>

Related topics