Symfony2 - form_start函数在树枝中自定义

Rob*_*zzi 26 forms symfony-forms symfony twig symfony-2.3

形成帮手form_start,form_end在树枝上很有用:

{{ form_start(form) }}
{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)

我可以自定义一些参数,如methodaction.但我需要自定义其他参数,例如class或添加form-enctype.

我可以做吗?我应该把它设置成FormType.php

从现在开始,我只是尝试将自定义值添加到twig函数中,如下所示:

{{ form_start(form, {'class': 'myclass', 'action': 'myaction'}) }}
// fields...
{{ form_end(form, {'render_rest': true}) }}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,例如,class没有出现.

Ahm*_*ani 47

由于form_start具有以下特征,

form_start(view, variables)
Run Code Online (Sandbox Code Playgroud)

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

然后,试试......

{{ form_start(form, {'class': 'myclass', 'action': 'myaction', 'attr': {'class': 'your_class_name'}}) }}
Run Code Online (Sandbox Code Playgroud)

还......

  • 您应该确保您的Type文件定义良好,以便让form_start帮助程序设置正确form-enctype.

  • form_enctype(formView)自Symfony 2.3以来,该助手已被弃用.

  • 为什么`class`在`variables`数组中重复? (5认同)
  • 应该是`{{form_start(form,{'attr':{'class':'your-class'}}}}}` (4认同)
  • 建议的代码片段与您的解释相反,因为您已将`class`作为变量! (3认同)