Предустановленный фильтр
Иногда может понадобиться показывать не все данные из сущности, а уже заранее отфильтрованные, для это существует функция setCallbackApplyFilter
она принимает два параметра
1. $arFilter
этот параметр будет передан в вызов метода getList сущности
2. $arFilterValues
здесь хранятся данные полученные из формы фильтра
рассмотрим пример на основе сущности инфоблока \Bitrix\Iblock\ElementTable
здесь добавились новые параметры FILTER_HEADER
сюда можно передать как строку так и функцию обратного вызова,
в функцию передается объект CAdminFilter сама функция при необходимости должна вывести в поток HTML данные для формы фильтра.
данная функция нужна для передачи дополнительных параметров при нажатие "Изменить" в контекстном меню или по двойному клику в списке, происходит переход на форму редактирования.
данная функция устанавливает какие поля будут выбраны из сущности,
здесь устанавливается фильтр элементов по инфоблоку.
Примечание, если попробовать изменить в списке любой элемент мы получим ошибку.
сущность \Bitrix\Iblock\ElementTable не дает нам изменять или добавлять,
для этого в DevBx\Core\Admin\AdminList есть метод setUpdateFunction
она принимает два параметра
1. $arFilter
этот параметр будет передан в вызов метода getList сущности
2. $arFilterValues
здесь хранятся данные полученные из формы фильтра
рассмотрим пример на основе сущности инфоблока \Bitrix\Iblock\ElementTable
здесь добавились новые параметры FILTER_HEADER
сюда можно передать как строку так и функцию обратного вызова,
в функцию передается объект CAdminFilter сама функция при необходимости должна вывести в поток HTML данные для формы фильтра.
данная функция нужна для передачи дополнительных параметров при нажатие "Изменить" в контекстном меню или по двойному клику в списке, происходит переход на форму редактирования.
данная функция устанавливает какие поля будут выбраны из сущности,
здесь устанавливается фильтр элементов по инфоблоку.
Примечание, если попробовать изменить в списке любой элемент мы получим ошибку.
сущность \Bitrix\Iblock\ElementTable не дает нам изменять или добавлять,
для этого в DevBx\Core\Admin\AdminList есть метод setUpdateFunction