Pull merge.
[yaffs-website] / web / core / modules / system / templates / field.html.twig
1 {#
2 /**
3  * @file
4  * Default theme implementation for a field.
5  *
6  * To override output, copy the "field.html.twig" from the templates directory
7  * to your theme's directory and customize it, just like customizing other
8  * Drupal templates such as page.html.twig or node.html.twig.
9  *
10  * Instead of overriding the theming for all fields, you can also just override
11  * theming for a subset of fields using
12  * @link themeable Theme hook suggestions. @endlink For example,
13  * here are some theme hook suggestions that can be used for a field_foo field
14  * on an article node type:
15  * - field--node--field-foo--article.html.twig
16  * - field--node--field-foo.html.twig
17  * - field--node--article.html.twig
18  * - field--field-foo.html.twig
19  * - field--text-with-summary.html.twig
20  * - field.html.twig
21  *
22  * Available variables:
23  * - attributes: HTML attributes for the containing element.
24  * - label_hidden: Whether to show the field label or not.
25  * - title_attributes: HTML attributes for the title.
26  * - label: The label for the field.
27  * - multiple: TRUE if a field can contain multiple items.
28  * - items: List of all the field items. Each item contains:
29  *   - attributes: List of HTML attributes for each item.
30  *   - content: The field item's content.
31  * - entity_type: The entity type to which the field belongs.
32  * - field_name: The name of the field.
33  * - field_type: The type of the field.
34  * - label_display: The display settings for the label.
35  *
36  * @see template_preprocess_field()
37  *
38  * @ingroup themeable
39  */
40 #}
41 {%
42   set title_classes = [
43     label_display == 'visually_hidden' ? 'visually-hidden',
44   ]
45 %}
46
47 {% if label_hidden %}
48   {% if multiple %}
49     <div{{ attributes }}>
50       {% for item in items %}
51         <div{{ item.attributes }}>{{ item.content }}</div>
52       {% endfor %}
53     </div>
54   {% else %}
55     {% for item in items %}
56       <div{{ attributes }}>{{ item.content }}</div>
57     {% endfor %}
58   {% endif %}
59 {% else %}
60   <div{{ attributes }}>
61     <div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
62     {% if multiple %}
63       <div>
64     {% endif %}
65     {% for item in items %}
66       <div{{ item.attributes }}>{{ item.content }}</div>
67     {% endfor %}
68     {% if multiple %}
69       </div>
70     {% endif %}
71   </div>
72 {% endif %}