Symfony 3 встроенные формы метки, а не числа

Можно ли изменить эти числа (имена встроенных форм) на некоторые другие метки (они зависят от свойства имени StatisticField) без использования javascript?

Symfony 3 встроенные формы метки, а не числа

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) }}

Вы можете показать нам свой шаблон веточки? Я подозреваю, что этот номер исходит от шлейфа for.

Med 16.05.2018 14:48

Спасибо за веточку, выглядит нормально. Думаю, я нашел вашу проблему и ответил, дайте мне знать, работает ли она.

Med 16.05.2018 14:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
240
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Пытаться

    $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 есть свое имя.

Andrew Vakhniuk 16.05.2018 14:54

Этот код удалил метки для коллекций, а не метки StatitisticField.

Med 16.05.2018 14:55

Я хочу иметь имена вместо этих цифр 0, 1, 2 ... Я не хочу удалять названия коллекций Спасибо

Andrew Vakhniuk 16.05.2018 14:57

Можно ли получить экземпляр StatisticField и вернуть его имя через функцию обратного вызова?

Andrew Vakhniuk 16.05.2018 15:10
Ответ принят как подходящий

Решением было переопределить метод buildView в StatisticFieldType (тип встроенной формы) и получить данные из формы:

   /**
     * {@inheritDoc}
     */
    public function buildView(FormView $view, FormInterface $form, array $options)
    {
        // For Symfony 2.1 and higher:
        $view->vars['label'] = $form->getData()->getName();
    }

Другие вопросы по теме