2014-01-12 3 views
1

У меня есть следующий код в мой контроллер:flashMessage на редирект на Symfony2 не работает

$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 %} 

так идет к первому, если блок однако внутри forloop, нет flashMessage. Почему это?

ответ

0

FOSUserBundle делает что-то вроде this, вы также можете взглянуть на этот замечательный imlementation из 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 %} 
Смежные вопросы