Мой вопрос похож на Наследование форм Symfony: не существует ни свойства, ни одного из методов , но шаблоны не включены.
У меня есть вложенная форма
demand
home
n children
DemandType
class DemandTypeExtension extends AbstractTypeExtension {
public function buildForm(...): void
{
$builder
->add('home', HomeType::class, [
]);
HomeType
class HomeType extends AbstractType {
public function buildForm(): void {
$builder
->add('children', CollectionType::class, [
'entry_type' => ChildrenType::class,
'allow_add' => true,
'by_reference' => false,
'allow_delete' => true,
'prototype' => true,
'label' => false,
]);
}
public function configureOptions(OptionsResolver $resolver): void {
$resolver->setDefaults([
'data_class' => Home::class,
]);
}
}
ChildrenType
class ChildrenType extends AbstractType {
public function buildForm(...): void
{
$builder
->add('name', TextType::class, [
]);
}
public function configureOptions(OptionsResolver $resolver): void {
$resolver->setDefaults([
'data_class' => Children::class,
]);
}
Моя форма
{{ form_widget(form.children) }}
Ни свойство "children", ни один из методов "children ()", "getchildren ()" / "ischildren ()" / "haschildren ()" или "__call ()" не существуют и не имеют публичного доступа в классе "Symfony \ Component \ Form \ FormView".
Кажется, мне нужно сделать исходные данные.
Нет ли возможности отобразить только дочерние данные? Возможно, с каким-то особым контекстом (псевдокодом)?
{% block form_context(form.home) %}
{{ form_widget(form.children) }}
{% endblock form_context %}