繁体   English   中英

每页上的Symfony2简单联系表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM