4 * Theme override for a field.
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.
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
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.
37 * @see template_preprocess_field()
43 'field--name-' ~ field_name|clean_class,
44 'field--type-' ~ field_type|clean_class,
45 'field--label-' ~ label_display,
51 label_display == 'visually_hidden' ? 'visually-hidden',
57 <div{{ attributes.addClass(classes, 'field__items') }}>
58 {% for item in items %}
59 <div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div>
63 {% for item in items %}
64 <div{{ attributes.addClass(classes, 'field__item') }}>{{ item.content }}</div>
68 <div{{ attributes.addClass(classes) }}>
69 <div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
71 <div class="field__items">
73 {% for item in items %}
74 <div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div>