{#
This is a template fragment designed to be included in other templates
See https://symfony.com/doc/current/book/templating.html#including-other-templates
A common practice to better distinguish between templates and fragments is to
prefix fragments with an underscore. That's why this template is called
'_flash_messages.html.twig' instead of 'flash_messages.html.twig'
#}
{#
The request method check is needed to prevent starting the session when looking for "flash messages":
https://symfony.com/doc/current/session/avoid_session_start.html
TIP: With FOSHttpCache you can also adapt this to make it cache safe:
https://foshttpcachebundle.readthedocs.io/en/latest/features/helpers/flash-message.html
#}
{% if app.request.hasPreviousSession %}
{% for type, messages in app.flashes %}
{% for message in messages %}
<div class="alert alert-{{ type }} alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{{ message|trans|raw }}
</div>
{% endfor %}
{% endfor %}
{% endif %}