DataProviderManager
DataProviderManager - cинглтон, хранит в себе кеш провайдеров. Здесь сосредоточены методы для манипуляции данными от провайдеров - их инициализация, получение значений и пр.
Методы класса
Метод | Описание |
---|---|
getDataProviderValue( \Bitrix\DocumentGenerator\DataProvider $dataProvider, $placeholder) | Метод отдает значение провайдера по имени. В простейшем случае - вызывает getValue() провайдера. |
createDataProvider( array $fieldDescription, $value = null, \Bitrix\DocumentGenerator\DataProvider $parentDataProvider = null, $placeholder = null) | Метод создает новый провайдер по его описанию и значению. Здесь:
$fieldDescription - массив описания поля
$value - значение этого поля
$parentDataProvider - родительский провайдер
$placeholder - имя поля родительского провайдера, по которому создается этот провайдер. |
getArray( \Bitrix\DocumentGenerator\DataProvider $dataProvider) | Метод преобразует провайдер в массив. Удобный метод для отладки, либо когда цепочка плейсхолдеров точно известна. |
getList( array $params) | Метод возвращает список провайдеров. Можно передать фильтр по модулю $params['filter']['MODULE'] = 'crm' |
getDefaultTemplateFields( $providerClassName, array $placeholders = [], array $mainProviderOptions = [], $isAddRootGroups = true) | Метод отдает список полей по умолчанию для провайдера.
$providerClassName - полное имя класса провайдера (экземпляр будет создан внутри метода)
$placeholders - массив имён полей, которые надо вернуть
$mainProviderOptions - параметр $options для вызова конструктора провайдера
$isAddRootGroups - в описание групп полей добавится первый элемент "Документ"
|
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.