form_widget с именем динамической формы

В моем шаблоне Twig у меня есть FOR LOOP, который создает несколько таких форм:

{% for thing in things %} {% set form_id = 'myform_' ~ thing.Id %} {% set form_name = attribute(form, 'myform_' ~ thing.Id) %} {{ form_widget(form_id) }} {{ form_widget(form_name) }} {% endfor %} 

Я хотел бы, чтобы это создавало следующее:

  {{ form_widget(myform_1) }} {{ form_widget(myform_2) }} 

…. и так далее.

Я оставил там 2 неудачных попытки ( form_id и form_id ), чтобы никому не предлагать предлагать их в качестве возможных решений.

Обобщить; Мне нужно вставить динамически созданное значение ( myform_1, myform_2 ) внутри
{{ form_widget() }}

То, что myform_1 и myform_2 просто являются переменными с объектом FormView, как вы определяете в своем контроллере. Я не знаю, может ли Twig разрешать вызов динамических переменных, хотя вы можете собирать эти объекты формы в массиве в контроллере, прежде чем перейти к просмотру. После этого шага вы можете просто перечислить этот массив. Он справится с проблемой, с которой вы столкнулись.

Не создавайте цикл в Twig: макет должен отображать только одну форму. Затем вы можете создавать формы в своем контроллере и отображать каждый из них.

См. Эту документацию в книге Symfony о том, как получить результат визуализированного шаблона. Вы можете объединить отдельные результаты рендеринга и вернуть ответ с полным контентом.