links.html.twig 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. {#
  2. /**
  3. * @file
  4. * Default theme implementation 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. * - link: (optional) A render array that returns a link. See
  11. * template_preprocess_links() for details how it is generated.
  12. * - text: The link text.
  13. * - attributes: HTML attributes for the list item element.
  14. * - text_attributes: (optional) HTML attributes for the span element if no
  15. * 'url' was 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 http://juicystudio.com/article/screen-readers-display-none.php and
  29. * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
  30. *
  31. * @see template_preprocess_links()
  32. *
  33. * @ingroup themeable
  34. */
  35. #}
  36. {% if links -%}
  37. {%- if heading -%}
  38. {%- if heading.level -%}
  39. <{{ heading.level }}{{ heading.attributes }}>{{ heading.text }}</{{ heading.level }}>
  40. {%- else -%}
  41. <h2{{ heading.attributes }}>{{ heading.text }}</h2>
  42. {%- endif -%}
  43. {%- endif -%}
  44. <ul{{ attributes }}>
  45. {%- for item in links -%}
  46. <li{{ item.attributes }}>
  47. {%- if item.link -%}
  48. {{ item.link }}
  49. {%- elseif item.text_attributes -%}
  50. <span{{ item.text_attributes }}>{{ item.text }}</span>
  51. {%- else -%}
  52. {{ item.text }}
  53. {%- endif -%}
  54. </li>
  55. {%- endfor -%}
  56. </ul>
  57. {%- endif %}