forms - 如何为我自己的类型设置我自己的表单表示

标签 forms symfony twig

我在我的 Symfony 2 项目中创建了自己的表单类型,它是日期类型的子类型。我在 Controller 中调用它:

$form = $this->createFormBuilder($customer)
 ->add('my_own_field_name', 'my_own_date_type', array())
 ->getForm();

在 Twig 模板中:

{{form_row(form.my_own-field_name)}}

是否可以对 Symfony2 说通过“form_row”函数调用我自己的 twig 来表示该字段,而不是使用日期类型表示

谢谢

最佳答案

考虑看看this part of the official SF2 documentation.

正如文档中所述,自定义类型的 getName 方法可帮助 SF2 找到自定义表单渲染器。由于您的类型名称是 my_date_type,SF2 将尝试在配置的表单模板列表中查找 my_date_type_widget block (如本文末尾和官方文档所示) )。

您只需在 bundle resources/views/Form/ 文件夹中创建一个模板 fields.html.twig ,指定此 block (如文档中所示)并添加你自己的逻辑在里面。

不要忘记添加配置行

# app/config/config.yml
twig:
    form:
        resources:
            - 'YourOwnBundle:Form:fields.html.twig'

告诉 symfony 始终使用它来呈现此表单类型。

关于forms - 如何为我自己的类型设置我自己的表单表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20952591/

相关文章:

asp.net-mvc - MVC 发布复杂对象列表

c# - 覆盖 winform 窗口的调整大小行为

php - Symfony:通过电子邮件发送失败的消息

php - twig 中有任何 {addslashes} 函数吗?

css - symfony2 bootstrap 3 布局保留复选框的标签,即使标签设置为 false

templates - Drupal 8 获取内容并在没有页眉/页脚的情况下提供服务

php - 如何在 Twig 中检查 null?

PHP MySQL 插入不起作用

php - 年龄验证表格和爬虫

PHPStorm 正在为 Symfony 项目中注释中使用的导入显示警告