Здравствуйте!
Имеется инфоблок, у элементов в нем есть поле типа "Привязка к Яндекс Карте", в нем хранится координата местоположения обьекта.
Элементы выбираются из базы при помощи CIBlockElement::GetList.
Каждый пользователь должен получать выдачу отсортированную по удаленности от его местопложения.
В данный момент я это делаю проходя по массиву $arResult, считаю функцией расстояние между двумя координатами, записываю результат в каждый элемент этого массива и затем сортирую его при помощи usort.
Проблема в том, что при такой реализации пагинацию Битрикса использовать не получится, и нужно постоянно делать выборку из базы всех элементов.
Вопрос - можно ли как-то реализовать такую сортировку в самом запросе к БД при помощи CIBlockElement::GetList, чтобы иметь возможность пользоваться родной пагинацией этой функции и не запрашивать каждый раз из базы все элементы?
Спасибо!
Имеется инфоблок, у элементов в нем есть поле типа "Привязка к Яндекс Карте", в нем хранится координата местоположения обьекта.
Элементы выбираются из базы при помощи CIBlockElement::GetList.
Каждый пользователь должен получать выдачу отсортированную по удаленности от его местопложения.
В данный момент я это делаю проходя по массиву $arResult, считаю функцией расстояние между двумя координатами, записываю результат в каждый элемент этого массива и затем сортирую его при помощи usort.
Проблема в том, что при такой реализации пагинацию Битрикса использовать не получится, и нужно постоянно делать выборку из базы всех элементов.
Вопрос - можно ли как-то реализовать такую сортировку в самом запросе к БД при помощи CIBlockElement::GetList, чтобы иметь возможность пользоваться родной пагинацией этой функции и не запрашивать каждый раз из базы все элементы?
Спасибо!