Можно ли изменить эти числа (имена встроенных форм) на некоторые другие метки (они зависят от свойства имени StatisticField) без использования javascript?
StatisticType имеет StatisticFieldTypes:
$builder->add('statisticFields', CollectionType::class, array(
'entry_type' => StatisticFieldType::class,
'by_reference' => true,
));
StatisticFieldType:
$builder->add('dateSince', DateTimeType::class, [
'widget' => 'single_text',
'label' => 'date.since',
'required' => false,
])
->add('dateTo', DateTimeType::class, [
'widget' => 'single_text',
'label' => 'date.to',
'required' => false,
]);
Спасибо. [РЕДАКТИРОВАТЬ_1]: Мой шаблон:
<h1>Statistic creation</h1>
{{ form_start(form) }}
{{ form_widget(form) }}
<input type = "submit" value = "Create"/>
{{ form_end(form) }}
Спасибо за веточку, выглядит нормально. Думаю, я нашел вашу проблему и ответил, дайте мне знать, работает ли она.






Пытаться
$builder->add('statisticFields', CollectionType::class, array(
'entry_type' => StatisticFieldType::class,
'entry_options' => array('label' => false),
'by_reference' => true,
));
Номера пришли с CollectionType
Обновлено:
С именами
$name = 'IamNotANumber';
$builder->add('statisticFields', CollectionType::class, array(
'entry_type' => StatisticFieldType::class,
'entry_options' => array('label' => $name),
'by_reference' => true,
));
я хочу иметь ярлыки, но не числа. У каждого StatisticField есть свое имя.
Этот код удалил метки для коллекций, а не метки StatitisticField.
Я хочу иметь имена вместо этих цифр 0, 1, 2 ... Я не хочу удалять названия коллекций Спасибо
Можно ли получить экземпляр StatisticField и вернуть его имя через функцию обратного вызова?
Решением было переопределить метод buildView в StatisticFieldType (тип встроенной формы) и получить данные из формы:
/**
* {@inheritDoc}
*/
public function buildView(FormView $view, FormInterface $form, array $options)
{
// For Symfony 2.1 and higher:
$view->vars['label'] = $form->getData()->getName();
}
Вы можете показать нам свой шаблон веточки? Я подозреваю, что этот номер исходит от шлейфа
for.