0
Я создал простой настраиваемое полеSymfony2 Мой пользовательский тип поля формы не заполняется данными из объекта
class InputWithDescriptionType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'description' => '',
));
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->setAttribute('description', $options['description'])
;
}
public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->vars['description'] = $options['description'];
}
public function getParent()
{
return 'text';
}
public function getName()
{
return 'input_with_description';
}
}
и добавить его в моей форме
$builder
->add('name')
->add('about', 'input_with_description', array(
'description' => "description",
'label' => "label",
))
При подаче формы все данные хранятся правильно но когда я пытаюсь редактировать объект, используя эту форму, пользовательские поля пусты. Где может быть проблема?
Вы имеете в виду, что я должен добавить это в тип поля или форму? У меня это в моем классе. –
Вам нужно указать имя объекта symfony, откуда он будет заполнять данные в элементах формы. – Anil
У меня этот метод в моем классе основной формы и нестандартные поля заполняются просто отлично. Только пользовательские пустые. Когда я попытался добавить его в тип поля, я получил «Данные вида формы, как ожидается, будут экземпляром класса AppBundle \ Document \ Brief, но являются строкой (n). Вы можете избежать этой ошибки, установив опцию« data_class » к null или добавлением трансформатора вида, который преобразует строку (n) в экземпляр AppBundle \ Document \ Brief. " –