Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / themes / classy / templates / dataset / forum-list.html.twig
1 {#
2 /**
3  * @file
4  * Theme override to display a list of forums and containers.
5  *
6  * Available variables:
7  * - forums: A collection of forums and containers to display. It is keyed to
8  *   the numeric IDs of all child forums and containers. Each forum in forums
9  *   contains:
10  *   - is_container: A flag indicating if the forum can contain other
11  *     forums. Otherwise, the forum can only contain topics.
12  *   - depth: How deep the forum is in the current hierarchy.
13  *   - zebra: 'even' or 'odd', used for row class.
14  *   - icon_class: 'default' or 'new', used for forum icon class.
15  *   - icon_title: Text alternative for the forum icon.
16  *   - name: The name of the forum.
17  *   - link: The URL to link to this forum.
18  *   - description: The description field for the forum, containing:
19  *     - value: The descriptive text for the forum.
20  *   - new_topics: A flag indicating if the forum contains unread posts.
21  *   - new_url: A URL to the forum's unread posts.
22  *   - new_text: Text for the above URL, which tells how many new posts.
23  *   - old_topics: A count of posts that have already been read.
24  *   - num_posts: The total number of posts in the forum.
25  *   - last_reply: Text representing the last time a forum was posted or
26  *     commented in.
27  * - forum_id: Forum ID for the current forum. Parent to all items within the
28  *   forums array.
29  *
30  * @see template_preprocess_forum_list()
31  */
32 #}
33 <table id="forum-{{ forum_id }}">
34   <thead>
35     <tr>
36       <th>{{ 'Forum'|t }}</th>
37       <th>{{ 'Topics'|t }}</th>
38       <th>{{ 'Posts'|t }}</th>
39       <th>{{ 'Last post'|t }}</th>
40     </tr>
41   </thead>
42   <tbody>
43   {% for child_id, forum in forums %}
44     <tr id="forum-list-{{ child_id }}" class="{{ forum.zebra }}">
45       <td {% if forum.is_container == true -%}
46         colspan="4" class="container"
47       {%- else -%}
48         class="forum-list__forum"
49       {%- endif -%}>
50         {#
51           Enclose the contents of this cell with X divs, where X is the
52           depth this forum resides at. This will allow us to use CSS
53           left-margin for indenting.
54         #}
55         {% for i in 1..forum.depth if forum.depth > 0 %}<div class="indented">{% endfor %}
56           <div class="forum__icon forum-status-{{ forum.icon_class }}" title="{{ forum.icon_title }}">
57             <span class="visually-hidden">{{ forum.icon_title }}</span>
58           </div>
59           <div class="forum__name"><a href="{{ forum.link }}">{{ forum.label }}</a></div>
60           {% if forum.description.value %}
61             <div class="forum__description">{{ forum.description.value }}</div>
62           {% endif %}
63         {% for i in 1..forum.depth if forum.depth > 0 %}</div>{% endfor %}
64       </td>
65       {% if forum.is_container == false %}
66         <td class="forum__topics">
67           {{ forum.num_topics }}
68           {% if forum.new_topics == true %}
69             <br />
70             <a href="{{ forum.new_url }}">{{ forum.new_text }}</a>
71           {% endif %}
72         </td>
73         <td class="forum__posts">{{ forum.num_posts }}</td>
74         <td class="forum__last-reply">{{ forum.last_reply }}</td>
75       {% endif %}
76     </tr>
77   {% endfor %}
78   </tbody>
79 </table>