【问题标题】:How to build a same form for multiple pages in Symfony 5?如何在 Symfony 5 中为多个页面构建相同的表单?
【发布时间】:2021-05-13 08:26:01
【问题描述】:

我想在 Symfony 5 的不同页面中显示相同的表单。有一种方法可以做到这一点,而无需在每个控制器操作中创建相同的表单?

【问题讨论】:

标签: forms symfony


【解决方案1】:

是的,当然可以。

请查看 Symfony 文档中的 Creating Form Classes 部分。

基本上你需要创建一个实现FormTypeInterface 的类,或者更简单地使用AbstractType 类,它实现了大部分所需的东西。那么你只需要实现buildForm 方法,这和你目前在控制器中可能写的几乎一样。

【讨论】:

  • 感谢您的回答 Jakub,但遗憾的是,我猜我没有很好地解释。我已经制作了一个 AbstractType 但我的表单必须在我网站的每个页面中(它是一个时事通讯表单)。所以现在,如果我想在每个页面中都有我的表单,我必须在每个控制器中执行相同的代码,这就是我在这里的原因,我想知道是否有一种方法可以让我的表单只有一次每个控制器,每个页面?
  • 哦,我明白了。那么你至少有两个选择。第一个是创建一个 Twig 扩展,它将创建一个表单实例。另一种是为这个表单创建一个控制器,然后在你的布局模板中渲染它作为一个嵌入式控制器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
相关资源
最近更新 更多