Модуль предоставляет api для получения данных в виде двумерных массивов из многих моделей битрикс. Модуль можно использовать для получения списков параметров в файлах .parameters.php
компонентов, а так же для других целей.
Модуль доступен на Маркетплейсе Битрикса.
На данный момент доступны списки параметров из:
- Блога (blog)
- Торгового каталога (catalog)
- Валют (currency)
- Веб-форм (form)
- Форума (forum)
- Highload - блоков (highloadblock)
- Инфоблоков (iblock)
- Главного модуля (main)
- Интернет-магазина (sale)
- Социальной сети (socialnetwork)
- Веб-статистики (statistic)
- Техподдержки (support)
- Документооборота (workflow)
Практически каждый метод (с полным переходм Битрикса на d7 - каждый) последним параметром принимает массив $params
. Этот массив может содеражать слежующие поля, влияющие на поведение метода:
empty
- подпись для первого, "пустого" элемента списка. Если задана и равняетсяnull
(['empty' => null]
), то пустой элемент не создается;template
- массив, содержащий шаблон элементов возвращаемого списка. Заменяемые поля должны быть заключены в фигурные скобки. Например['template' => ['{ID}' => '[{ID}] {NAME}']]
означает, что ключем списке будетID
сущности, а значением -ID
в квадратных скобках, а, затем, имя;filter
- переопределение ключаfilter
запроса orm getList, задаёт правила выборки;add_filter
- задаёт дополнительные условия выборки запроса orm getList. Присоденияется к полям, переданным в ключеfilter
, не переопределяя их;order
- переопределение ключаorder
запроса orm getList, задаёт сортировку списка;select
- переопределение ключаselect
запроса orm getList, указывает, какие поля следует выбрать при запросе. Если не передано, то формируется из полей, переданных в ключеtemplate
;reload
- флаг прямого обращения к базе, минуя кеш. Если не передан, то значение только первый раз берется из базы, а затем - из кеша.
Получить свойства инфоблока в формате [CODE => [CODE] NAME]
без пустого значения.
use Rover\Params\Iblock;
use Bitrix\Main\Loader;
if (Loader::includeModule('rover.params')){
$iblockId = 1; // for example
$params = [
'template' => ['{CODE}' => '[{CODE}] {NAME}'],
'empty' => null,
];
$props = Iblock::getProps($iblockId, $params);
echo '<pre>';
print_r($props);
echo '</pre>';
} else {
ShowError('module "rover.params" not found');
}
Модуль активно развивается. Свои вопросы и плжелания вы можете отправлять на электропочту [email protected], либо через форму на сайте https://rover-it.me.
Если решение оказалось вам полезным, вы можете оставить пожертование