我正在使用Symfony 2,并且有一个嵌入表单的小问题。
情况:
MyBundle/资源/视图/部分/footer.html。包含在MyBundle/Resources/views/layout中的twig视图,当然,layout.twig.html是由所有bundle视图扩展的。这意味着footer.html.twig会显示在所有的页面中。
问题/问题:
我想嵌入一个简报表单(一个输入)在页脚。html。这将由一个控制器处理(验证数据、数据库插入和电子邮件发送),然后返回到同一页面。
解决这个问题的最佳方案是什么?
谢谢。
一个简单的方法(不是最好的方法)
是简单地定义一个服务,作为一个全局分支,这样你就可以让你的表单一直可用。
# Twig Configuration
twig:
...
globals:
myGlobaService: "@acme.newsletter_service"
另一种简单的方法是使用twig render标签,包含整个渲染模板的控制器动作。
{{ render(controller('AcmeNewsLetterBundle:Default:renderNewsletterForm', {})) }}