我已经在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/

10-11 22:13
查看更多