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

时间:2014-01-06 14:52:47

标签: forms symfony twig

我在Symfony 2项目中创建了自己的表单类型,该项目的日期类型为子级。我在控制器中调用它:

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

在树枝模板中:

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

是否可以通过' form_row'对Symfony2说出我自己的树枝来表示这个字段。函数而不是日期类型表示

谢谢

1 个答案:

答案 0 :(得分:2)

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

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

您只需在捆绑fields.html.twig文件夹中创建一个模板resources/views/Form/,该文件夹指定此块,如文档中所示,并在其中添加您自己的逻辑。

不要忘记添加配置行

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

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