我是Symfony的新手,我对3thd版本有一些问题。 我使用名为userType的控制台创建了一个formType。 一切都很好,但我无法添加提交按钮。 旧->add('save','submit')
方式不起作用,我认为这与symfony的版本有关。 所以,这是我的代码:
<?php
namespace MyBundle'UserBundle'Form;
use Symfony'Component'Form'AbstractType;
use Symfony'Component'Form'FormBuilderInterface;
use Symfony'Component'OptionsResolver'OptionsResolver;
class userType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('nickname')
//->add('dateOfBirth', 'date')
->add('sex')
->add('country')
->add('city')
->add('email')
->add('password')
->add('save', SubmitType::class, array('label' => 'Create Task')); //here is the problem
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'MyBundle'UserBundle'Entity'user'
));
}
}
你有没有关于如何解决这个问题的想法? 对不起,如果我在 wron 部分发帖:-)。
谢谢你读了我,
阿克塞尔
您需要使用正确的命名空间:
namespace MyBundle'UserBundle'Form;
use Symfony'Component'Form'AbstractType;
use Symfony'Component'Form'FormBuilderInterface;
use Symfony'Component'OptionsResolver'OptionsResolver;
use Symfony'Component'Form'Extension'Core'Type'SubmitType; // ← this line
正如"Symfony 3的最佳实践"一书的第27页所述,你会发现这并没有改变。
表单按钮配置
表单类应尽量与它们的使用位置无关。 这使得它们以后更容易重用。在模板中添加按钮, 不在窗体类或控制器中。从 Symfony 2.3 开始,你可以 将按钮添加为表单上的字段。这是简化 呈现表单的模板。但是如果你直接添加按钮 在您的窗体类中,这将有效地限制其范围 形式。
$builder
// ...
->add('save', SubmitType::class, array('label' => 'Create Post'))
;