Version 1
[yaffs-website] / web / core / modules / views / templates / views-view-grid.html.twig
1 {#
2 /**
3  * @file
4  * Default theme implementation 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  * @ingroup themeable
27  */
28 #}
29 {%
30   set classes = [
31     'views-view-grid',
32     options.alignment,
33     'cols-' ~ options.columns,
34     'clearfix',
35   ]
36 %}
37 {% if options.row_class_default %}
38   {%
39     set row_classes = [
40       'views-row',
41       options.alignment == 'horizontal' ? 'clearfix',
42     ]
43   %}
44 {% endif %}
45 {% if options.col_class_default %}
46   {%
47     set col_classes = [
48       'views-col',
49       options.alignment == 'vertical' ? 'clearfix',
50     ]
51   %}
52 {% endif %}
53 {% if title %}
54   <h3>{{ title }}</h3>
55 {% endif %}
56 <div{{ attributes.addClass(classes) }}>
57   {% if options.alignment == 'horizontal' %}
58     {% for row in items %}
59       <div{{ row.attributes.addClass(row_classes, options.row_class_default ? 'row-' ~ loop.index) }}>
60         {% for column in row.content %}
61           <div{{ column.attributes.addClass(col_classes, options.col_class_default ? 'col-' ~ loop.index) }}>
62             {{ column.content }}
63           </div>
64         {% endfor %}
65       </div>
66     {% endfor %}
67   {% else %}
68     {% for column in items %}
69       <div{{ column.attributes.addClass(col_classes, options.col_class_default ? 'col-' ~ loop.index) }}>
70         {% for row in column.content %}
71           <div{{ row.attributes.addClass(row_classes, options.row_class_default ? 'row-' ~ loop.index) }}>
72             {{ row.content }}
73           </div>
74         {% endfor %}
75       </div>
76     {% endfor %}
77   {% endif %}
78 </div>