我想显示看到后未被移除的Flash消息。Symfony,如何创建持久性Flash消息
例如:
- 您的电子邮件地址进行验证。请点击链接的电子邮件中必须显示,直到验证链接用户点击...“。
- 检查出来的新功能...这一个是dismissable通过点击X
要做到这一点,最好的方法是什么?我应该创建一个数据库表并在任何页面视图中读取它(如果是这样,我怎样才能将结果传递给任何控制器和基本的树枝布局?) ,还是有什么更好的?
我想显示看到后未被移除的Flash消息。Symfony,如何创建持久性Flash消息
例如:
要做到这一点,最好的方法是什么?我应该创建一个数据库表并在任何页面视图中读取它(如果是这样,我怎样才能将结果传递给任何控制器和基本的树枝布局?) ,还是有什么更好的?
Flash消息意味着一旦你重新被删除发现它们。
如果有多个事情你的用户应该做的,你想通过消息通知他们做同样的事情。最佳方法是在用户表中添加列,将所有任务的默认状态设置为false。如果状态为false
,则显示该消息,直到用户完成任务。
当用户完成任务时,请将其设置为true。
如果您想对任务执行大量操作,您可以为所有任务创建单独的表。
通过广泛的任务,我的意思是你可能想要记录完成时的日期时间,其他重要的消息或描述你想显示每个任务。
在Symfony中这样做的好处是,当用户登录时,您拥有任务以及用户对象的所有状态。所以对你来说也会更容易。
您可以使用peek()方法来取回邮件,同时将邮件放在邮袋中。
{% for flash_message in app.session.flashBag.peek('notice') %}
<div class="flash-notice">
{{ flash_message }}
</div>
{% endfor %}
调用它作为一个flash消息有点令人困惑,因为flash消息是被看到后被删除的消息。你所要求的与闪光消息无关;你只是想要一个常规的消息。 – Erik
一开始我以为我可以使用flashbag,但是使用会话没有任何意义,因为如果他注销,他们将会消失 –
无论如何,它甚至不是“消息”,消息是在收件箱中进行的,用户可以回复 –