Symfony 4 перегруппировать choiceType-элементы (радиокнопки) (через ViewTransformer)? - PullRequest
0 голосов
/ 19 октября 2018

Для нашей местной школы я создаю форму для управления встречами родителей с учителями.Моя структура на данный момент:

  • ParentTeacherConference имеет 1 или более дней
  • Такой день может иметь один или несколько классов (например, 1A, 1B, 2A, ...)
  • В каждом классе есть несколько встреч (каждые 15 минут между интервалами)

Предоставление 3 последовательных коллекций OneToMany ...

Эта структура прекрасно работает в моем Sonata-AdminБэкэнд и все генерируется как надо.Но у меня есть проблема в форме, которую родители должны заполнить.

Что касается макета, мне нужна та же структура: конференция-> Дни-> Класс-> Встреча-время.

Там, где ВстречаВремя - это радио-кнопка, но они сгруппированы по Дню и Классу , и мне нужно, чтобы они были сгруппированы ТОЛЬКО по Классу!Родителям, у которых есть ребенок в классе 1A, нужно выбрать только 1 meetingTime для этого класса, а не на несколько дней ...

Я сделал 3 конкретных FormTypes, Conference-> Day-> Class, каждый из которых использовалследующим и последним является EntityType, который генерирует радиокнопки.Мой окончательный макет корректен в этом смысле, но я не могу найти способ «перегруппировать» встречающиеся радио-кнопки, поскольку они имеют свойство name, которое выглядит как «ptc [PTCDays] [0] [PTCClassrooms] [0][PTCMeetings] "означает, что они сгруппированы по дням и классам и должны быть сгруппированы только по классам, чтобы родители могли выбирать только 1 временной интервал на класс ...

Я много раз искал, но не могупридумать решение ... Мне нужна полная структура для генерации макета формы (отображение информации обо всех объектах Conference-> Day-> Class-> Meeting) Но конечный результат, мне просто нужны выбранные Meetings в ArrayCollectionили что-то еще, но когда вы начинаете с полной сущности, форма Symfony заполняет полную сущность при отправке формы.

Что нужно сделать, чтобы сгенерировать полную форму на основе структурированной сущности, но получитьпростой вывод формы?На данный момент форма формы верна, но вы должны выбрать как минимум 1 собрание в классе в день вместо 1 в классе ...

Вопросы :

  • Есть ли логическое решение для этого?Встречи должны быть визуально сгруппированы по Дню и Классу, но в форме они должны быть сгруппированы только по Классу ...

Я нашел трансформаторы, но не знаю, можно ли их использоватьдля этого?

  • Можно ли использовать ViewTransformer для преобразования свойства имени радиокнопок?Не удалось найти ни одного примера ViewTransformer, только dataTransFormers ...
  • (Является ли единственным решением отойти от форм-компонентов Symfony? Генерация формы (полная разметка) самостоятельно (просто с помощью ветки, смои собственные имена радиопереключателей) и создание несвязанной формы Symfony для захвата и проверки выбора? Значение форм Symfony не может справиться с такой ситуацией?)

Спасибо за любую помощь!

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