这是我的base.html.twig
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% include 'flashes/page-title.html.twig' %}</title>
</head>
<body>
<h1>{% include 'flashes/page-title.html.twig' %}</h1>
</body>
</html>我想知道为什么小枝只包含一次这个文件?
发布于 2018-02-17 15:22:07
当您从闪存袋中获得闪存消息时,该消息同时被清除。您可以在Symfony的闪存信息文档和API接口中看到这一点。
所以我猜Twig两次包含了这个文件,但是第二次闪存袋是空的。这就是为什么h1标记没有得到任何信息的原因。您可以通过将静态的东西(例如,简单的Hello world)放入flashes/page-title.html.twig文件来确认这一点,并查看该文件是否包含了两次。
相反,您可以使用peek()方法来检索消息,同时将其保存在包中,也就是说,如果{% for title in app.flashes.peek('title') %}或{% for title in app.session.flashbag.peek('title') %}无法工作,则类似于前者。但这样信息就不会被清除了。在您的情况下,这可能是一个问题,也可能不是一个问题。
在这种情况下,除了flash消息以外的其他东西是否是一种更好的方法?
https://stackoverflow.com/questions/48842459
复制相似问题