Есть ли способ переименовать поле в форме в 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' => 'AppBundleEntityMyEntity'
));
}
public function getName()
{
return 'entity';
}
}
Есть ли способ переименовать поле name
в форме, но сопоставление с атрибутом name
работает. что-то вроде:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('MySuperName', null, array("mapping" => "name"))
;
}
Таким образом, форма param name становится entity[MySuperName]
вместо entity[name]
, но заполняет свойство name
на сущности?
1 ответ:
Использование
property_path
:$builder ->add('MySuperName', null, array('property_path' => 'name'))
Другой вариант можно было бы добавить получить/установить псевдонимы, чтобы ваш
name
сфере:public function getMySuperName() { return $this->name; } public function setMySuperName($mySuperName) { $this->name = $mySuperName; return $this; }