links.html.twig in Drupal 8
Same filename in this branch
Same filename and directory in other branches
Theme override for a set of links.
Available variables:
- attributes: Attributes for the UL containing the list of links.
- links: Links to be output.
Each link will have the following elements:
- link: (optional) A render array that returns a link. See template_preprocess_links() for details how it is generated.
- text: The link text.
- attributes: HTML attributes for the list item element.
- text_attributes: (optional) HTML attributes for the span element if no 'url' was supplied.
- heading: (optional) A heading to precede the links.
- text: The heading text.
- level: The heading level (e.g. 'h2', 'h3').
- attributes: (optional) A keyed list of attributes for the heading.
If the heading is a string, it will be used as the text of the heading and the level will default to 'h2'.
Headings should be used on navigation menus and any list of links that consistently appears on multiple pages. To make the heading invisible use the 'visually-hidden' CSS class. Do not use 'display:none', which removes it from screen readers and assistive technology. Headings allow screen reader and keyboard only users to navigate to or skip the links. See http://juicystudio.com/article/screen-readers-display-none.php and http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
See also
32 theme calls to links.html.twig
- AjaxTestController::dialog in core/
modules/ system/ tests/ modules/ ajax_test/ src/ Controller/ AjaxTestController.php - Returns a render array of form elements and links for dialog.
- AjaxTestController::insertLinksBlockWrapper in core/
modules/ system/ tests/ modules/ ajax_test/ src/ Controller/ AjaxTestController.php - Returns a render array of links that directly Drupal.ajax().
- AjaxTestController::insertLinksInlineWrapper in core/
modules/ system/ tests/ modules/ ajax_test/ src/ Controller/ AjaxTestController.php - Returns a render array of links that directly Drupal.ajax().
- book_node_links_alter in core/
modules/ book/ book.module - Implements hook_node_links_alter().
- ChooseBlockController::getBlockLinks in core/
modules/ layout_builder/ src/ Controller/ ChooseBlockController.php - Gets a render array of block links.
File
core/themes/stable/templates/navigation/links.html.twigView source
- {#
- /**
- * @file
- * Theme override for a set of links.
- *
- * Available variables:
- * - attributes: Attributes for the UL containing the list of links.
- * - links: Links to be output.
- * Each link will have the following elements:
- * - link: (optional) A render array that returns a link. See
- * template_preprocess_links() for details how it is generated.
- * - text: The link text.
- * - attributes: HTML attributes for the list item element.
- * - text_attributes: (optional) HTML attributes for the span element if no
- * 'url' was supplied.
- * - heading: (optional) A heading to precede the links.
- * - text: The heading text.
- * - level: The heading level (e.g. 'h2', 'h3').
- * - attributes: (optional) A keyed list of attributes for the heading.
- * If the heading is a string, it will be used as the text of the heading and
- * the level will default to 'h2'.
- *
- * Headings should be used on navigation menus and any list of links that
- * consistently appears on multiple pages. To make the heading invisible use
- * the 'visually-hidden' CSS class. Do not use 'display:none', which
- * removes it from screen readers and assistive technology. Headings allow
- * screen reader and keyboard only users to navigate to or skip the links.
- * See http://juicystudio.com/article/screen-readers-display-none.php and
- * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
- *
- * @see template_preprocess_links()
- */
- #}
- {% if links -%}
- {%- if heading -%}
- {%- if heading.level -%}
- <{{ heading.level }}{{ heading.attributes }}>{{ heading.text }}</{{ heading.level }}>
- {%- else -%}
- <h2{{ heading.attributes }}>{{ heading.text }}</h2>
- {%- endif -%}
- {%- endif -%}
- <ul{{ attributes }}>
- {%- for item in links -%}
- <li{{ item.attributes }}>
- {%- if item.link -%}
- {{ item.link }}
- {%- elseif item.text_attributes -%}
- <span{{ item.text_attributes }}>{{ item.text }}</span>
- {%- else -%}
- {{ item.text }}
- {%- endif -%}
- </li>
- {%- endfor -%}
- </ul>
- {%- endif %}