Можно ли сделать переменную FOSUserBundle «error» глобальной для всех файлов веток - PullRequest
0 голосов
/ 08 декабря 2018

Я использую FOSUserBundle в Symfony 3.4.Все работает правильно.Я переопределяю шаблоны FOSUserBundle своими собственными.Я проверяю, не удалось ли пользователю войти в систему из-за неверного пароля или адреса электронной почты, так:

login.html.twig

{% trans_default_domain 'FOSUserBundle' %}
...Some html nothing fancy
                {% if error %}
                    <div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
                           {% endif %}

    ....Rest of file content

    </div>

Это выполняетсянет проблем.Пользователь, конечно, перенаправляется на страницу индекса после сбоя, обработанного моим файлом безопасности.
Однако я попытался использовать приведенное выше выражение if в index.html.twig, оно думает, что оно не определено.Я хочу использовать его, например, когда пользователь будет перенаправлен на главную страницу для отображения моего настроенного сообщения.Есть ли переменная "error" в этом файле ветки, которая будет сделана глобальной для всех файлов ветки, когда она будет установлена?

1 Ответ

0 голосов
/ 09 декабря 2018

FosUserBundle хранит ошибки в флеш-памяти Symfony, вы можете использовать этот код

    {% if app.request.hasPreviousSession %}
        {% for type, messages in app.session.flashbag.all() %}
            {% for message in messages %}
                <div class="flash-{{ type }}">
                    {{ message }}
                </div>
            {% endfor %}
        {% endfor %}
    {% endif %}

Вы можете посмотреть этот шаблон FosUserBundle https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/views/layout.html.twig

Или более глобально https://symfony.com/doc/current/controller.html#flash-messages

Если вы хотите изменить сообщение об ошибке по умолчанию, вам лучше заменить стандартные переводы FosUserBundle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...