Создайте несколько форм Symfony 4 в одном представлении - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть приложение Symfony 4 с несколькими формами на одной странице.Тем не менее, поскольку они используют один и тот же formType, только один визуализируется с правильными входными данными.

Существует одна форма создания и несколько форм обновления, которые запускаются, когда пользователь щелкает модальное окно.Я отображаю формы обновления на странице, вызывая функцию ветки, а затем передавая идентификатор элемента в частичное.Затем партиал отрисовывает ту же форму, что и форма создания, но со значениями из переданного объекта.

Есть ли способ достичь этого?

Основное представление текущего представления:

{#create form#}
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}

{#update form1#}
{{ form_start(, {'action': path('edit', { "id" : update.id }),  'attr': {'id' : dealer.id}}) }}
{{ form_widget(form) }}
{{ form_end(form) }}

{#update form2#}
{{ form_start(, {'action': path('edit', { "id" : update.id }),  'attr': {'id' : dealer.id}}) }}
{{ form_widget(form) }}
{{ form_end(form) }}

Я хотел бы использовать те же методы контроллера для CRUD и попытался создать Form \ AbstractType для каждого объекта обновления, но безуспешно!

1 Ответ

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

вместо того, чтобы отправлять все формы с одинаковыми именами, измените на names, formRead, formUpdate, FormDelete и т. Д. Последняя форма $ переопределяет себя на одну раньше.

{% if formRead is defined %}
{#create form#}
{{ form_start(formRead) }}
{{ form_widget(formRead) }}
{{ form_end(formRead) }}
{% end if %}

{% if formUpdate is defined %}
{#update form1#}
{{ form_start(formUpdate, {'action': path('edit', { "id" : update.id }),  'attr': {'id' : dealer.id}}) }}
{{ form_widget(formUpdate) }}
{{ form_end(formUpdate) }}
{% end if %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...