You are here

views-view-grid.html.twig in Drupal 10

Theme override for views to display rows in a grid.

Available variables:

  • attributes: HTML attributes for the wrapping element.
  • title: The title of this group of rows.
  • view: The view object.
  • rows: The rendered view results.
  • options: The view plugin style options.
    • row_class_default: A flag indicating whether default classes should be used on rows.
    • col_class_default: A flag indicating whether default classes should be used on columns.
  • items: A list of grid items. Each item contains a list of rows or columns. The order in what comes first (row or column) depends on which alignment type is chosen (horizontal or vertical).

    • attributes: HTML attributes for each row or column.
    • content: A list of columns or rows. Each row or column contains:
      • attributes: HTML attributes for each row or column.
      • content: The row or column contents.

File

core/themes/olivero/templates/views/views-view-grid.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Theme override for views to display rows in a grid.
  5. *
  6. * Available variables:
  7. * - attributes: HTML attributes for the wrapping element.
  8. * - title: The title of this group of rows.
  9. * - view: The view object.
  10. * - rows: The rendered view results.
  11. * - options: The view plugin style options.
  12. * - row_class_default: A flag indicating whether default classes should be
  13. * used on rows.
  14. * - col_class_default: A flag indicating whether default classes should be
  15. * used on columns.
  16. * - items: A list of grid items. Each item contains a list of rows or columns.
  17. * The order in what comes first (row or column) depends on which alignment
  18. * type is chosen (horizontal or vertical).
  19. * - attributes: HTML attributes for each row or column.
  20. * - content: A list of columns or rows. Each row or column contains:
  21. * - attributes: HTML attributes for each row or column.
  22. * - content: The row or column contents.
  23. *
  24. * @see template_preprocess_views_view_grid()
  25. */
  26. #}
  27. {{ attach_library('olivero/layout-views-grid') }}
  28. {%
  29. set classes = [
  30. 'views-view-grid',
  31. 'views-view-grid--' ~ options.alignment,
  32. ]
  33. %}
  34. {% if title %}
  35. <h3>{{ title }}</h3>
  36. {% endif %}
  37. <div{{ attributes.addClass(classes).setAttribute('style', '--views-grid--column-count: ' ~ options.columns) }}>
  38. {% for row in items %}
  39. {% for item in row.content %}
  40. <div class="views-view-grid__item">
  41. <div class="views-view-grid__item-inner">
  42. {{- item.content -}}
  43. </div>
  44. </div>
  45. {% endfor %}
  46. {% endfor %}
  47. </div>