提交按钮未在 Symfony 2.x 表单中呈现
Submit Button is not rendered in Symfony 2.x Form
我正在使用 Symfony Form 构建器创建一个,并使用 twig 渲染它。
这是我的表单生成器代码:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text', array(
'required' => TRUE,
))
->add('link', 'text', array(
'required' => TRUE,
))
->add('submit', 'submit', array(
'attr' => array(
'class' => 'btn btn-primary btn-sm custom-btn'
)
))
;
}
而我的树枝模板是这样的:
{{ form_start(form)}}
<div>
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
</div>
<div>
{{ form_label(form.link) }}
{{ form_widget(form.link) }}
</div>
<div>
{{ form_widget(form.submit) }}
</div>
{{ form_end(form) }}
在这种情况下,我得到了预期的一切,除了提交按钮。它不是在表单构建器中创建的自定义提交按钮,而是呈现带有标签 create
.
的默认提交按钮
我哪里做错了?
似乎 'submit' 名称有问题。例如,下一个示例有效:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
.... // your fields here
->('my_button', 'submit');
}
然后在树枝模板中:
<div>
{{ form_widget(form.my_button) }}
</div>
UPDATED : 根据 http://symfony.com/doc/current/reference/forms/twig_reference.html 你可以使用 {{ form_widget(form.submit, {'label': 'submit'}) }}
。因此,下一行使用“submit”名称呈现提交:
{{ form_start(form) }}
{{ form_widget(form.text) }}
{{ form_widget(form.code) }}
{{ form_widget(form.submit, {'label': 'submit'}) }}
{{ form_end(form) }}
在这种情况下,您不需要将提交添加到您的 FormType。
我正在使用 Symfony Form 构建器创建一个,并使用 twig 渲染它。
这是我的表单生成器代码:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text', array(
'required' => TRUE,
))
->add('link', 'text', array(
'required' => TRUE,
))
->add('submit', 'submit', array(
'attr' => array(
'class' => 'btn btn-primary btn-sm custom-btn'
)
))
;
}
而我的树枝模板是这样的:
{{ form_start(form)}}
<div>
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
</div>
<div>
{{ form_label(form.link) }}
{{ form_widget(form.link) }}
</div>
<div>
{{ form_widget(form.submit) }}
</div>
{{ form_end(form) }}
在这种情况下,我得到了预期的一切,除了提交按钮。它不是在表单构建器中创建的自定义提交按钮,而是呈现带有标签 create
.
我哪里做错了?
似乎 'submit' 名称有问题。例如,下一个示例有效:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
.... // your fields here
->('my_button', 'submit');
}
然后在树枝模板中:
<div>
{{ form_widget(form.my_button) }}
</div>
UPDATED : 根据 http://symfony.com/doc/current/reference/forms/twig_reference.html 你可以使用 {{ form_widget(form.submit, {'label': 'submit'}) }}
。因此,下一行使用“submit”名称呈现提交:
{{ form_start(form) }}
{{ form_widget(form.text) }}
{{ form_widget(form.code) }}
{{ form_widget(form.submit, {'label': 'submit'}) }}
{{ form_end(form) }}
在这种情况下,您不需要将提交添加到您的 FormType。