Php 如何使用Symfony formbuilder设置表单名称?
我正在使用Symfony formbuilder创建表单:Php 如何使用Symfony formbuilder设置表单名称?,php,symfony,oop,formbuilder,Php,Symfony,Oop,Formbuilder,我正在使用Symfony formbuilder创建表单: $options = [ 'attr' => array('class' => 'form-control',), 'data' => $data, ]; $formBuilder->add($name, $class, $options); 当我现在查看表单时,字段如下所示: <input name="form[color]" value="#c651a8"
$options = [
'attr' => array('class' => 'form-control',),
'data' => $data,
];
$formBuilder->add($name, $class, $options);
当我现在查看表单时,字段如下所示:
<input name="form[color]" value="#c651a8" class="form-control">
我尝试了不同的方法,例如:
$options = [
'attr' => array('class' => 'form-control','name' => '12345',),
'data' => $data,
];
或
但是我找不到解决方案。如果使用
FormType
类来实现getName()
方法:
public function getName()
{
return null;
}
如果您通过表单工厂
服务生成表单,请执行以下操作:
$formBuilder = $this->get('form.factory')
->createNamedBuilder(null);
$options = [
'attr' => array('class' => 'form-control',),
'data' => $data,
];
$formBuilder->add('12345', $class, $options);
谢谢,这很有效,我只有一个问题。我在循环
foreach($fields as$field){$formBuilder->add('12345',$class,$options);}
中使用它,问题是,我的字段现在是空的,我想是因为NULL。你有什么建议吗?或者我把函数getName()放错地方了吗?我现在将它放到我的页面库中。如果使用这个case(),则必须使用getName()
方法扩展这个表单类。不是存储库
public function getName()
{
return null;
}
$formBuilder = $this->get('form.factory')
->createNamedBuilder(null);
$options = [
'attr' => array('class' => 'form-control',),
'data' => $data,
];
$formBuilder->add('12345', $class, $options);