我已经在Stackoverflow上阅读了很多有关此主题的文章,但仍然没有成功。
我正在使用Symfony version 2.2.3
,当前正在尝试使项目中的flashbag messegaes工作,但是由于某些原因,当我在Twig模板中收到一个空数组时。
这是我的控制器代码:
public function addProductAction($id) {
$session = $this->container->get('session');
// *** Some nive stuff here with session parameters **
$session->set('products', $products);
// Here it is my flashbag code sort like in symfony2 documentation
$session->getFlashBag()->add('notice', 'Your changes were saved!');
$session->save();
return $this->redirect($this->getRequest()->headers->get('referer'));
}
这是我的Twig代码:
{% for flashMessage in app.session.flashbag.get('notice') %}
<div class="flash-notice">
{{ flashMessage }}
</div>
{%else%}
<div class="flash-notice">
NO MESSAGES
</div>
{% endfor %}
我已经做到了,就像人们在网络上的很多帖子中所说的那样,但是运气不好……有什么主意吗?我认为我只做一个请求,所以不明白为什么它不起作用...
最佳答案
可能在此之前还有另一个get('notice')
。 get
方法(来自FlashBag
类)以这种方式工作,即删除条目并将其返回(因此,它更像是“ pop”而不是“ get”)。如果只想获取条目而不将其从Flash包中删除,请使用peek
方法。
关于您的问题-请确保您之前未致电get('notice')
。
关于session - Symfony2 FlashBag空数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18768739/