Я работаю над небольшой функциональностью, которая позволяет встраивать «форму» в поле настраиваемых представлений в представлении, над которым я работаю.
Представление представляет собой табличный список сущностей «запрос». Самый последний столбец в таблице для каждой строки — это форма «быстрого редактирования», в которой есть настраиваемая форма с несколькими полями (в зависимости от сущности, отображаемой в текущей строке). Я пытаюсь понять, как создать плагин/поле пользовательских представлений, которое позволит мне отображать рабочую форму. Я знаю, как сделать логику для условного отображения необходимых полей и знаю, как построить обычную форму, но я не уверен, как встроить ее в поле представлений.
Я использовал `drush generate plugin-views-field' и могу отображать элементы формы в методе render(), но на самом деле они ничего не делают, так как форма на самом деле не создается.
Было бы проще/возможно создать форму внутри модуля/src/Form (которая принимает дополнительные аргументы) и отобразить эту форму с помощью formBuilder->getForm() или есть способ построить и отобразить форму внутри представлений плагин?
Форма должна работать через ajax, чтобы можно было сделать быстрое редактирование без перезагрузки страницы.
Любая помощь будет принята с благодарностью.
Согласно комментариям ниже, похоже, я могу сделать что-то вроде:
$form = \Drupal::formBuilder()->getForm('Drupal\resume\Form\WorkForm');
$form->sub_id = идентификатор;
вернуть $ форму;
Чтобы отобразить форму, а затем внутри конструктора форм используйте переменную sub_id, чтобы прикрепить ее к обратному вызову ajax и элементу-обертке.