links.html.twig

Same filename in this branch
  1. 10 core/themes/stable9/templates/navigation/links.html.twig
  2. 10 core/themes/starterkit_theme/templates/navigation/links.html.twig
  3. 10 core/modules/system/templates/links.html.twig
Same filename in other branches
  1. 9 core/themes/olivero/templates/navigation/links.html.twig
  2. 9 core/themes/stable9/templates/navigation/links.html.twig
  3. 9 core/themes/stable/templates/navigation/links.html.twig
  4. 9 core/themes/starterkit_theme/templates/navigation/links.html.twig
  5. 9 core/themes/classy/templates/navigation/links.html.twig
  6. 9 core/modules/system/templates/links.html.twig
  7. 8.9.x core/themes/stable/templates/navigation/links.html.twig
  8. 8.9.x core/themes/classy/templates/navigation/links.html.twig
  9. 8.9.x core/modules/system/templates/links.html.twig
  10. 11.x core/themes/olivero/templates/navigation/links.html.twig
  11. 11.x core/themes/stable9/templates/navigation/links.html.twig
  12. 11.x core/themes/starterkit_theme/templates/navigation/links.html.twig
  13. 11.x core/modules/system/templates/links.html.twig

Olivero's 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:

    • title: The link text.
    • href: The link URL. If omitted, the 'title' is shown as a plain text item in the links list. If 'href' is supplied, the entire link is passed to l() as its $options parameter.
    • attributes: (optional) HTML attributes for the anchor, or for the <span> tag if no 'href' is 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 https://juicystudio.com/article/screen-readers-display-none.php and https://www.w3.org/TR/WCAG-TECHS/H42.html for more information.

See also

template_preprocess_links()

31 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.

... See full list

File

core/themes/olivero/templates/navigation/links.html.twig

View source
  1. {#
  2. /**
  3. * @file
  4. * Olivero's theme override for a set of links.
  5. *
  6. * Available variables:
  7. * - attributes: Attributes for the UL containing the list of links.
  8. * - links: Links to be output.
  9. * Each link will have the following elements:
  10. * - title: The link text.
  11. * - href: The link URL. If omitted, the 'title' is shown as a plain text
  12. * item in the links list. If 'href' is supplied, the entire link is passed
  13. * to l() as its $options parameter.
  14. * - attributes: (optional) HTML attributes for the anchor, or for the <span>
  15. * tag if no 'href' is supplied.
  16. * - heading: (optional) A heading to precede the links.
  17. * - text: The heading text.
  18. * - level: The heading level (e.g. 'h2', 'h3').
  19. * - attributes: (optional) A keyed list of attributes for the heading.
  20. * If the heading is a string, it will be used as the text of the heading and
  21. * the level will default to 'h2'.
  22. *
  23. * Headings should be used on navigation menus and any list of links that
  24. * consistently appears on multiple pages. To make the heading invisible use
  25. * the 'visually-hidden' CSS class. Do not use 'display:none', which
  26. * removes it from screen readers and assistive technology. Headings allow
  27. * screen reader and keyboard only users to navigate to or skip the links.
  28. * See https://juicystudio.com/article/screen-readers-display-none.php and
  29. * https://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
  30. *
  31. * @see template_preprocess_links()
  32. */
  33. #}
  34. {% if links -%}
  35. {%- if heading -%}
  36. {%- if heading.level -%}
  37. <{{ heading.level }}{{ heading.attributes }}>{{ heading.text }}</{{ heading.level }}>
  38. {%- else -%}
  39. <h2{{ heading.attributes }}>{{ heading.text }}</h2>
  40. {%- endif -%}
  41. {%- endif -%}
  42. <ul{{ attributes }}>
  43. {% for item in links %}
  44. <li{{ item.attributes }}>
  45. {%- if item.link -%}
  46. {{ item.link }}
  47. {%- elseif item.text_attributes -%}
  48. <span{{ item.text_attributes }}>{{ item.text }}</span>
  49. {%- else -%}
  50. {{ item.text }}
  51. {%- endif -%}
  52. </li>
  53. {% endfor %}
  54. </ul>
  55. {%- endif %}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.