33 lines
1.4 KiB
Twig
33 lines
1.4 KiB
Twig
|
{#
|
||
|
This is a template fragment designed to be included in other templates
|
||
|
See https://symfony.com/doc/current/templates.html#including-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 check is needed to prevent starting the session when looking for "flash messages":
|
||
|
https://symfony.com/doc/current/session.html#avoid-starting-sessions-for-anonymous-users
|
||
|
|
||
|
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 %}
|
||
|
<div class="messages">
|
||
|
{% for type, messages in app.flashes %}
|
||
|
{% for message in messages %}
|
||
|
{# Bootstrap alert, see https://getbootstrap.com/docs/3.4/components/#alerts #}
|
||
|
<div class="alert alert-dismissible alert-{{ type }} fade in" role="alert">
|
||
|
<button type="button" class="close" data-dismiss="alert" aria-label="{{ 'action.close'|trans }}">
|
||
|
<span aria-hidden="true">×</span>
|
||
|
</button>
|
||
|
|
||
|
{{ message|trans }}
|
||
|
</div>
|
||
|
{% endfor %}
|
||
|
{% endfor %}
|
||
|
</div>
|
||
|
{% endif %}
|