форма symfony генерирует непредвиденный элемент-заполнитель - PullRequest
0 голосов
/ 12 декабря 2018

обычно должно быть два выходных файла, оба файла с идентификаторами таксономии - так или иначе, есть элемент "заполнитель", который вызывает ошибки.я действительно не понимаю, откуда это взялось, какие-нибудь идеи?я подумал, что лучшая идея - показать это на скриншоте (и, кроме того, его часть в виде кода).вывод с функцией ветки dump ().

сгенерированные идентификаторы элементов формы Symfony в пределах dump () (3 элемента формы, ожидается 2):

"id" => "Filter_filter_1462_boolcollectionradiomodell_placeholder"
"id" => "Filter_filter_1462_boolcollectionradiomodell_8368"
"id" => "Filter_filter_1462_boolcollectionradiomodell_33696" 

здесь скриншоты с идентификаторами инекоторая дополнительная информация, например, пустое значение из элемента формы Symfony: enter image description here

значение пустое, остальные (ожидаемые) заполнены идентификаторами таксономии.

вот часть формы symfony:

$builder->add(
    'filter_' . $filter->getId() . '_boolcollectionradio',
    EntityType::class,
    array(
        'class' => AutoTaxonomie::class,
        'choices' => $choices,
        'expanded' => true,
        'multiple' => false,
        'required' => false,
        'label' => ('detail' == $this->entry) ? $tmp : false,
        'attr' => array('data-taxid' => $filter->getId(), 'class' => 'form-group'),
        'choice_label' => function (AutoTaxonomie $taxonomie) {
            $view_data = array(
                'title' => $taxonomie->getTitle(),
                'beschreibung' => $taxonomie->getDescription(),
            );

            return json_encode($view_data);
        },
    )
);

symfony: 3.4 веточка: 2.5

любой совет очень важен, имейте хороший!

1 Ответ

0 голосов
/ 12 декабря 2018

Отображение элемента-заполнителя для EntityTypeField является значением по умолчанию, поскольку задокументировано .Попробуйте установить значение false, чтобы оно не появлялось:

$builder->add('filter_', EntityType::class, array(
    'placeholder' => false,
));
...