Модуль предоставляет 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');
}
Модуль активно развивается. Свои вопросы и плжелания вы можете отправлять на электропочту rover.webdev@gmail.com, либо через форму на сайте https://rover-it.me.
Если решение оказалось вам полезным, вы можете оставить пожертование