Обзор
DevBx\Core\UI\Edit\Form — форма добавления и редактирования записи для сущностей,
унаследованных от Bitrix\Main\ORM\Data\DataManager. Пара к списку: список показывает строки,
форма правит одну запись.
Класс раньше назывался DevBx\Core\Admin\AdminEdit. Старое имя продолжает работать — оно
объявлено вторым именем того же класса, конструктор и методы не менялись. Переименовать в своём
коде стоит при ближайшей правке, а не срочно.
Что делает форма
- строит поля по описанию сущности: строки, числа, даты, списки, файлы, пользовательские поля;
- проверяет значения по правилам сущности и показывает ошибки рядом с полями;
- сохраняет запись методами сущности
add()иupdate(); - рисует вкладки, кнопки сохранения и возврата к списку.
Конструктор
new \DevBx\Core\UI\Edit\Form($moduleId, $dataClass, $options);
| Параметр | Что в нём |
|---|---|
$moduleId |
модуль сущности: по нему проверяются права и подключается сам модуль |
$dataClass |
класс сущности или объект Entity |
$options |
настройки формы: вкладки, заголовки, доступность добавления и удаления |
Модуль обязан быть установлен: иначе конструктор бросит Bitrix\Main\SystemException — форма не
станет молча показывать пустой экран.
Связь со списком
Форма определяет адрес списка сама: берёт текущий адрес и заменяет edit.php на list.php.
Поэтому пару страниц принято называть одинаково, отличая окончанием: ..._list.php и
..._edit.php.
Обратная связь — на стороне списка: адрес формы задаётся настройкой editUrl при initialize().