在一个动作,我设置为用户的一些反馈:我是否以错误的方式使用Symfony Flash变量?
$this->getUser()->setFlash('message', array(
"type" => "notice",
"content" => "Well done buddy, you did it."
));
$this->redirect('home/index');
在视图中,我只是使用下面的代码:
<?php if ($sf_user->hasFlash('message')): $message = $sf_user->getFlash('message') ?>
<p class="<?php echo $message["type"] ?>" ><?php echo $message["content"]?></p>
<?php endif; ?>
,但似乎从来没有消息。
不是说问题不是'它出现一次然后它消失'的原因,这将意味着它的作品。问题是它永远不会出现。不止一次。
我正在使用Symfony 1.2,这就是为什么flash var现在绑定到用户对象。
我知道flash是ephemerial变量。我并不是说它只工作一次,然后我重新加载了网页,但它不起作用。我的意思是它按照预期的方式运行了一次,然后整个mecanisme都不再工作了。也许我改变了一些东西,但我不喜欢它。 – 2009-05-29 17:26:32