Тюнинг-Софт

OnBeforeComponentElementGetList

Событие вызывается пред запросом на поиск элементов инфоблока, все параметры являются ссылками, их можно изменить перед поиском.

array(
'select' => &$arSelect,
'filter' => &$arFilter,
'group' => &$bGroup,
'order' => &$arSort,
'limit' => &$limit,
)

Параметры

Параметр
Тип Описание
select
array Массив возвращаемых полей элемента
filter array Массив для фильтра элементов CIBlockElement::GetList()
group array
Массив полей для группировки элементов.
По умолчанию false
order array Параметры сортировки элементов
limit int
Количество записей

Примеры

Пример обработчика события в init.php

<?php
$eventManager->addEventHandler('api.search','OnBeforeComponentElementGetList',array('ApiSearch', 'OnBeforeComponentElementGetList'));
class ApiSearch
{
function OnBeforeComponentElementGetList(Main\Event $event)
{
//Вернет все в виде ассоциативного массива
$eventData = $event->getParameters();

//Тут печатаем в файл дамп данных для отладки
$ttfile=dirname(__FILE__).'/OnBeforeComponentElementGetList.txt';
file_put_contents($ttfile, "<pre>".print_r($eventData,1)."</pre>\n");

//Тут что-то делаем с данными, пробуем изменить значение поля
//$eventData['limit'] = 5;

//Чтобы изменить данные нужно вернуть новый $result
$result = new Main\EventResult(Main\EventResult::SUCCESS, $eventData);
return $result;
}
}
?>

Для наглядности так будет выглядеть дамп всех параметров поиска в init.php






Комментарии
Получать ответы на почту