21

コントローラーに Flash を設定しようとしています。次に、TWIG で Flash が設定されているかどうかを確認します。私の問題は、TWIG が常に Flash が設定されていないと報告し、その理由がわからないことです。

コントローラ:

$session->getFlashBag()->add('error', 'Does Not Exist');

小枝:

{{ dump( app.session.hasFlash('error') ) }} //outputs false
{{ dump( app.session.getFlashBag().get('error') ) }} //outputs false
4

7 に答える 7

61

コントローラー内

$this->get('session')->getFlashBag()->set('error', 'Does Not Exist');

or 

$this->get('session')->getFlashBag()->add('error', 'Does Not Exist');

小枝で

{% for flashMessage in app.session.flashbag.get('error') %}

    {{ flashMessage }}

{% endfor %}

参考までに: Doc

于 2013-01-22T04:33:03.220 に答える
20

コントローラー内:

$this->get('session')->getFlashBag()->add('error', "User does not exists.");

ビューで :

{% for type, messages in app.session.flashbag.all() %}
    {% for message in messages %}
        {% if type == 'error' %}
            {{ message }}
        {% endif %}
        {# Or even with css class rendering:
            <div class="flash-{{type}}">{{message}}</div>
        #}
    {% endfor %}
{% endfor %}
于 2016-01-29T06:17:16.230 に答える