item-list.html.twig 1.23 KB
Newer Older
1 2 3 4 5 6
{#
/**
 * @file
 * Default theme implementation for an item list.
 *
 * Available variables:
7 8 9
 * - items: A list of items. Each item contains:
 *   - attributes: HTML attributes to be applied to each list item.
 *   - value: The content of the list element.
10 11
 * - title: The title of the list.
 * - list_type: The tag for list element ("ul" or "ol").
12
 * - wrapper_attributes: HTML attributes to be applied to the list wrapper.
13 14 15
 * - attributes: HTML attributes to be applied to the list.
 * - empty: A message to display when there are no items. Allowed value is a
 *   string or render array.
16 17
 * - context: A list of contextual data associated with the list. May contain:
 *   - list_style: The custom list style.
18 19 20 21 22 23
 *
 * @see template_preprocess_item_list()
 *
 * @ingroup themeable
 */
#}
24
{% if context.list_style %}
25
  {%- set attributes = attributes.addClass('item-list__' ~ context.list_style) %}
26
{% endif %}
27
{% if items or empty %}
28 29 30 31 32 33 34 35 36 37 38 39 40
  {%- if title is not empty -%}
    <h3>{{ title }}</h3>
  {%- endif -%}

  {%- if items -%}
    <{{ list_type }}{{ attributes }}>
      {%- for item in items -%}
        <li{{ item.attributes }}>{{ item.value }}</li>
      {%- endfor -%}
    </{{ list_type }}>
  {%- else -%}
    {{- empty -}}
  {%- endif -%}
41
{%- endif %}