Symfony 4, Добавить тип как тип коллекции формы - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь добавить тип формы в качестве типа записи для моего collectionType.Этот тип и связанная с ним сущность имеют несколько полей.

Я пытался создать его с несколькими различными конфигурациями, и это моя последняя попытка.

            ->add(
            'article_prices',
            CollectionType::class,
            [
                'entry_type'    => ArticlePriceType::class,
                'allow_add'     => true,
                'allow_delete'  => true,
                'by_reference'  => false,
                'prototype'     => true,
                'entry_options' => [
                    'required' => true,
                ],
            ]
        );

Я надеялся, что получу конструктор для полей в моем типе (ArticlePriceType), но я просто получаю метку при добавлении этого в мою форму:

{{ form_row(form.article_prices) }}

Можно ли заставить его автоматически строить поля в типе или мне нужно встраивать себя в TWIG?

1 Ответ

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

Попробуйте это:

->add('article_prices', CollectionType::class, [
    'entry_type'   => ChoiceType::class,
    'entry_options'  => [
        'label' => false,
        'choices' => [
            'MyField_1' => ArticlePriceType::ARTICLE_TYPE_1,
            'MyField_x' => ArticlePriceType::ARTICLE_TYPE_x,
            'MyField_n' => ArticlePriceType::ARTICLE_TYPE_n,
        ],
    ],
])

А внутри вашей сущности ArticlePriceType у вас должны быть постоянные переменные ARTICLE_TYPE_1, ARTICLE_TYPE_x и ARTICLE_TYPE_n

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...