Bitrix D7 HighloadBlock — фильтрация с LIKE и пагинация
Пример выборки из HL-блока с поиском по подстроке (LIKE) и постраничной навигацией.
use Bitrix\Main\Loader;
use Bitrix\Highloadblock as HL;
Loader::includeModule('highloadblock');
$hlblockId = 3;
$hlblock = HL\HighloadBlockTable::getById($hlblockId)->fetch();
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
$entityClass = $entity->getDataClass();
$page = max(1, (int)($_GET['page'] ?? 1));
$pageSize = 20;
$offset = ($page - 1) * $pageSize;
$res = $entityClass::getList([
'select' => ['ID', 'UF_NAME'],
'filter' => ['%UF_NAME' => $_GET['q'] ?? ''],
'order' => ['ID' => 'DESC'],
'limit' => $pageSize,
'offset' => $offset,
]);
while ($row = $res->fetch()) {
echo "{$row['ID']}: {$row['UF_NAME']}<br>";
}