Документация

Обзор

DevBx\Core\UI\Edit\Form — форма добавления и редактирования записи для сущностей, унаследованных от Bitrix\Main\ORM\Data\DataManager. Пара к списку: список показывает строки, форма правит одну запись.

Класс раньше назывался DevBx\Core\Admin\AdminEdit. Старое имя продолжает работать — оно объявлено вторым именем того же класса, конструктор и методы не менялись. Переименовать в своём коде стоит при ближайшей правке, а не срочно.

Что делает форма

  • строит поля по описанию сущности: строки, числа, даты, списки, файлы, пользовательские поля;
  • проверяет значения по правилам сущности и показывает ошибки рядом с полями;
  • сохраняет запись методами сущности add() и update();
  • рисует вкладки, кнопки сохранения и возврата к списку.

Конструктор

php
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().