有没有办法在 Symfony2 中重命名表单中的字段?
Is there a way to rename a field in a form in Symfony2?
我正在使用 symfony2,我想知道是否可以重命名表单中的字段。
我的意思是...假设我有一个实体
class MyEntity{
private $name
//more code
}
我为此实体创建了一个类型:
class MyEntityType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\MyEntity'
));
}
public function getName()
{
return 'entity';
}
}
有没有办法重命名表单中的字段 name
但映射到 name
属性有效。类似于:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('MySuperName', null, array("mapping" => "name"))
;
}
因此表单参数名称变为 entity[MySuperName]
而不是 entity[name]
但在实体上填写 name
属性?
$builder
->add('MySuperName', null, array('property_path' => 'name'))
另一种选择是将 get/set 别名添加到您的 name
字段:
public function getMySuperName()
{
return $this->name;
}
public function setMySuperName($mySuperName)
{
$this->name = $mySuperName;
return $this;
}
我正在使用 symfony2,我想知道是否可以重命名表单中的字段。
我的意思是...假设我有一个实体
class MyEntity{
private $name
//more code
}
我为此实体创建了一个类型:
class MyEntityType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\MyEntity'
));
}
public function getName()
{
return 'entity';
}
}
有没有办法重命名表单中的字段 name
但映射到 name
属性有效。类似于:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('MySuperName', null, array("mapping" => "name"))
;
}
因此表单参数名称变为 entity[MySuperName]
而不是 entity[name]
但在实体上填写 name
属性?
$builder
->add('MySuperName', null, array('property_path' => 'name'))
另一种选择是将 get/set 别名添加到您的 name
字段:
public function getMySuperName()
{
return $this->name;
}
public function setMySuperName($mySuperName)
{
$this->name = $mySuperName;
return $this;
}