在Symfony2上重定向的flashMessage无法正常工作

时间:2014-01-12 00:58:48

标签: php symfony twig

我的控制器中有以下代码:

  $this->get('session')->getFlashBag()->add(
                    'storeinfo',
                    'hayooo'
               );
  return $this->redirect($this->generateUrl('AppMainBundle_item_detailed_view',  array('id' => $picture->getId(), 'caption' => $picture->getURLCaption())), 301);

我的树枝看起来像这样:

{% if app.session.flashbag.get('storeinfo') %}
    <div class="comment-confirmation">
        {% for flashMessage in app.session.flashbag.get('storeinfo') %}
            <p> <b> anjing banget </b></p>
        {% endfor %}
    </div>
</div>
{% else %}
     <p> Oopsie </p>
{% endif %}

所以它转到第一个if块但是在forloop中,没有flashMessage。这是为什么?

1 个答案:

答案 0 :(得分:0)

FOSUserBundle执行类似this的操作,您还可以查看FlashListener

的这个重要内容
{% for type, messages in app.session.flashbag.all() %}
    {% for message in messages %}  

        {# Will print all your messages #}
        {{ message }}

        {# Will do something in particular for storeinfo if you want to #}
        {% if type is sameas('storeinfo') %}
            <p> <b> anjing banget </b></p>
        {% endif %}

    {% endfor %}
{% endfor %}