[英]Symfony2 simple contact form on every page
我想在每个页面的页脚中都有一个简单的联系表。 我已经创建了一个在单独页面上正常工作的控制器。 但是当我在模板中渲染控制器时:
{% render(controller('MyBundle:Default:contact', {'request': app.request })) %}
它正在用于呈现表单,验证和发送邮件但
1.)我的flashmessage没有显示:
$this->get('session')->getFlashBag()->add(...)
和2.)当我尝试重定向时,出现错误
return $this->redirect($this->generateUrl('homepage'))
所以我的问题是:
(我也试图创建一个小树枝扩展名,但遇到其他问题,例如我不能使用formbuilder函数等。)
来自FlashBag
get
方法除了获取消息外,还会将其删除...因此,您可能之前已经调用过get方法。 例如,以下代码始终不显示任何内容:
{% if (app.session.flashbag.get('message')) %}
<div class="message">{{ app.session.flashbag.get('message') }}</div>
{% endif %}
如果是这种情况,则应在条件中使用has
方法,而不要先get
。
如果您只想从Flash包中获取消息,还可以-如果不删除它,则可以使用peek
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.