Документация для разработчиков
Темная тема

Своя реализация контроллера

Штатный REST контроллер инфоблока \Bitrix\Iblock\Controller\DefaultElement включает в себя следующие методы:

МетодОписание
getElementEntityAllowedListРазрешенные поля сущности инфоблока \Bitrix\Iblock\ElementTable::getMap. Они же выбираются по умолчанию, если в запросе не указан select.
getAllowedListСписок разрешенных полей для выборки. По умолчанию разрешены поля инфоблока из метода getElementEntityAllowedList и все свойства инфоблока. Если вы хотите использовать другие поля и особенно отношения, то необходимо перечислить здесь все идентификаторы.
getActionРеализует выборку одного элемента по ID.
listActionРеализует выборку нескольких элементов.

Допускается как создание полностью своего контроллера, так и наследование от штатного с переопределением нужных методов.

После описания своего класса контроллера необходимо зарегистрировать его в Сервис локаторе Сервис локатор (локатор служб) – это шаблон проектирования для удобной работы с сервисами приложения.

Подробнее в курсе Разработчик Bitrix Framework.
с идентификатором iblock.element.{IBLOCK_API_CODE}.rest.controller, где {IBLOCK_API_CODE} – значение Символьного кода API (API_CODE) вашего инфоблока. Например: iblock.element.OfficialNews.rest.controller.

По умолчанию контроллеры работают только в контексте REST. С версии 20.100.200 доступен публичный неограниченный доступ к данным инфоблока через механизм AJAX-контроллеров. Для этого следует очистить все префильтры:

class MyElement extends \Bitrix\Iblock\Controller\DefaultElement
{
	protected function getDefaultPreFilters()
	{
		return [];
	}
}

© «Битрикс», 2001-2024, «1С-Битрикс», 2024