Я пытаюсь создать внутренний модуль, в котором на своей странице редактирования я использую admin-2column-left
макет.
Я хочу иметь форму на каждой вкладке, но я не понимаю, как я могу это сделать.
В идеале я хотел бы знать, как назначать разные формы uiComponents
для разных вкладок или как определить одну uiComponent
форму для своей формы, но иметь возможность назначить, какой набор полей будет добавлен на какую вкладку.
Моя конкретная ситуация, которая провоцирует этот вопрос, заключается в том, что я хочу, чтобы на одной вкладке была стандартная форма (несколько вводов текста), а на другой вкладке - dynamicRows
компонент пользовательского интерфейса. Мы назвали эти вкладки Основные и Позиции.
В настоящее время я реализую это следующим образом: Main определяется в
_prepareForm
методе внутри его блока, который является расширением классаForm\Generic
. Эта форма появляется и работает нормально, пока я не добавлю динамические строки.
В моем файле макета есть код для добавления вкладки Main и назначения блока контента. Также он имеет контейнер с именем line_items
, который содержит uiComponent
для формы, содержащей динамические строки.
Вкладка «Элементы строки» создается в _beforeToHtml
методе Widget\Tab
, и ее содержимое назначается с помощью вызова getChildHtml
контейнера «line_items».
Вкладка работает и заполнена правильной структурой, что позволяет мне добавлять и удалять строки.
Проблема в том, что когда я отправляю страницу, отправляются только входные данные на вкладке "Позиции".
Так что я знаю, что не настроил это правильно, и мне нужен какой-то способ, чтобы проинструктировать его отслеживать и отправлять все элементы формы. Большая часть этой реализации основана на моих попытках перепроектировать настройку формы атрибутов продукта категории, что аналогично тому, что я хочу сделать.
У кого-нибудь есть идеи по этому поводу?
Ответы:
Используйте следующий код для создания вкладок с одной формой, используя UI-Component
Создать элемент формы
Этот код отобразит 2 вкладки в форме со связанными полями формы.
Надеюсь, что это решение работает для вас
источник