status-messages.html.twig

Same filename in this branch
  1. 10 core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
  2. 10 core/themes/olivero/templates/misc/status-messages.html.twig
  3. 10 core/themes/stable9/templates/media-library/status-messages.html.twig
  4. 10 core/themes/starterkit_theme/templates/misc/status-messages.html.twig
  5. 10 core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
  6. 10 core/modules/system/templates/status-messages.html.twig
Same filename in other branches
  1. 9 core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
  2. 9 core/themes/olivero/templates/misc/status-messages.html.twig
  3. 9 core/themes/stable9/templates/media-library/status-messages.html.twig
  4. 9 core/themes/seven/templates/classy/misc/status-messages.html.twig
  5. 9 core/themes/claro/templates/misc/status-messages.html.twig
  6. 9 core/themes/bartik/templates/status-messages.html.twig
  7. 9 core/themes/stable/templates/misc/status-messages.html.twig
  8. 9 core/themes/starterkit_theme/templates/misc/status-messages.html.twig
  9. 9 core/themes/classy/templates/misc/status-messages.html.twig
  10. 9 core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
  11. 9 core/modules/system/templates/status-messages.html.twig
  12. 8.9.x core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
  13. 8.9.x core/themes/seven/templates/classy/misc/status-messages.html.twig
  14. 8.9.x core/themes/claro/templates/misc/status-messages.html.twig
  15. 8.9.x core/themes/bartik/templates/status-messages.html.twig
  16. 8.9.x core/themes/stable/templates/misc/status-messages.html.twig
  17. 8.9.x core/themes/classy/templates/misc/status-messages.html.twig
  18. 8.9.x core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
  19. 8.9.x core/modules/system/templates/status-messages.html.twig
  20. 11.x core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
  21. 11.x core/themes/olivero/templates/misc/status-messages.html.twig
  22. 11.x core/themes/stable9/templates/media-library/status-messages.html.twig
  23. 11.x core/themes/claro/templates/misc/status-messages.html.twig
  24. 11.x core/themes/starterkit_theme/templates/misc/status-messages.html.twig
  25. 11.x core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
  26. 11.x core/modules/system/templates/status-messages.html.twig

Theme override for status messages.

Displays status, error, and warning messages, grouped by type.

An invisible heading identifies the messages for assistive technology. Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html for info.

Add an ARIA label to the contentinfo area so that assistive technology user agents will better describe this landmark.

Available variables:

  • message_list: List of messages to be displayed, grouped by type.
  • status_headings: List of all status types.
  • attributes: HTML attributes for the element, including:
    • class: HTML classes.
  • title_ids: A list of unique ids keyed by message type.

See also

claro_preprocess_status_messages().

6 theme calls to status-messages.html.twig
AnnounceRenderer::render in core/modules/announcements_feed/src/AnnounceRenderer.php
Generates the announcements feed render array.
CKEditor5::buildConfigurationForm in core/modules/ckeditor5/src/Plugin/Editor/CKEditor5.php
Form constructor.
ContentTranslationHandler::entityFormSharedElements in core/modules/content_translation/src/ContentTranslationHandler.php
Process callback: determines which elements get clue in the form.
ContentTranslationHandlerTest::providerTestEntityFormSharedElements in core/modules/content_translation/tests/src/Kernel/ContentTranslationHandlerTest.php
Returns test cases for ::testEntityFormSharedElements().
LayoutBuilderEntityFormTrait::buildMessageContainer in core/modules/layout_builder/src/Form/LayoutBuilderEntityFormTrait.php
Build the message container.

... See full list

File

core/themes/claro/templates/misc/status-messages.html.twig

View source
  1. {#
  2. /**
  3. * @file
  4. * Theme override for status messages.
  5. *
  6. * Displays status, error, and warning messages, grouped by type.
  7. *
  8. * An invisible heading identifies the messages for assistive technology.
  9. * Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html
  10. * for info.
  11. *
  12. * Add an ARIA label to the contentinfo area so that assistive technology
  13. * user agents will better describe this landmark.
  14. *
  15. * Available variables:
  16. * - message_list: List of messages to be displayed, grouped by type.
  17. * - status_headings: List of all status types.
  18. * - attributes: HTML attributes for the element, including:
  19. * - class: HTML classes.
  20. * - title_ids: A list of unique ids keyed by message type.
  21. *
  22. * @see claro_preprocess_status_messages().
  23. */
  24. #}
  25. <div data-drupal-messages class="messages-list">
  26. <div class="messages-list__wrapper">
  27. {% for type, messages in message_list %}
  28. {%
  29. set classes = [
  30. 'messages-list__item',
  31. 'messages',
  32. 'messages--' ~ type,
  33. ]
  34. %}
  35. {%
  36. set is_message_with_title = status_headings[type]
  37. %}
  38. {%
  39. set is_message_with_icon = type in ['error', 'status', 'warning']
  40. %}
  41. <div role="contentinfo" aria-labelledby="{{ title_ids[type] }}"{{ attributes.addClass(classes)|without('role', 'aria-label') }}>
  42. {% if type == 'error' %}
  43. <div role="alert">
  44. {% endif %}
  45. {% if is_message_with_title or is_message_with_icon %}
  46. <div class="messages__header">
  47. {% if is_message_with_title %}
  48. <h2 id="{{ title_ids[type] }}" class="messages__title">
  49. {{ status_headings[type] }}
  50. </h2>
  51. {% endif %}
  52. </div>
  53. {% endif %}
  54. <div class="messages__content">
  55. {% if messages|length > 1 %}
  56. <ul class="messages__list">
  57. {% for message in messages %}
  58. <li class="messages__item">{{ message }}</li>
  59. {% endfor %}
  60. </ul>
  61. {% else %}
  62. {{ messages|first }}
  63. {% endif %}
  64. </div>
  65. {% if type == 'error' %}
  66. </div>
  67. {% endif %}
  68. </div>
  69. {# Remove type specific classes. #}
  70. {% set attributes = attributes.removeClass(classes) %}
  71. {% endfor %}
  72. </div>
  73. </div>

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