Forms Symfony2-表单启动功能在细枝中自定义

Forms Symfony2-表单启动功能在细枝中自定义,forms,symfony,twig,symfony-forms,symfony-2.3,Forms,Symfony,Twig,Symfony Forms,Symfony 2.3,表单助手Form\u start和Form\u end在小树枝中很有用: {{ form_start(form) }} {{ form_end(form) }} 我可以自定义一些参数,如方法或操作。但是我需要定制其他参数,比如类,或者添加表单类型 我能做吗?我是否应该将其设置到FormType.php 从现在起,我只需将我的自定义值添加到twig函数中,如下所示: {{ form_start(form, {'class': 'myclass', 'action': 'myaction'}) }

表单助手
Form\u start
Form\u end
在小树枝中很有用:

{{ form_start(form) }}
{{ form_end(form) }}
我可以自定义一些参数,如
方法
操作
。但是我需要定制其他参数,比如
,或者添加
表单类型

我能做吗?我是否应该将其设置到
FormType.php

从现在起,我只需将我的自定义值添加到
twig
函数中,如下所示:

{{ form_start(form, {'class': 'myclass', 'action': 'myaction'}) }}
// fields...
{{ form_end(form, {'render_rest': true}) }}

但是在这种情况下,例如,
不会出现。

作为
表单开始
具有

as
class
不代表有效的变量名。您需要使用
attr
属性将类指定为
key/value
数组

那么,试试……

{{ form_start(form, {'action': 'myaction', 'attr': {'class': 'your_class_name'}}) }}
还有…

{{ form_start(form, {'action': 'myaction', 'attr': {'class': 'your_class_name'}}) }}
  • 您应该确保您的类型文件定义良好,以便让
    表单_启动
    帮助程序设置正确的
    表单类型

  • 自Symfony 2.3以来,
    form\u enctype(formView)
    helper已被弃用


非常感谢!这个解决方案非常有效。然后,我不必使用
表单enctype
也不必检查是否上传了文件,因为
表单start()
会自动设置“表单enctype”。对吗?但是在表单标记中我看不到它。为什么
变量
数组中重复?建议的代码段与您的解释相反,因为您将
作为变量!应该是
{form_start(form,{'attr':{'class':'your class'}}}}
对于
id
也是如此。它还必须进入
attr
数组。