Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Сортировка элементов по двум полям в GetList

00 голосов
1

Здравствуйте, суть задачи в следующем: есть инфоблок с городами (название элемента равно городу), где хранится контактная информация по городу. Есть также страница контактов, где я через GetList вывожу все города с контактными данными. На сайте также стоит автоопределение города, т.е. в сессию сохраняется название города. Вопрос: возможно ли сначала выводить автоматически найденный город (который через сессию) , а уже потом остальные города? А если город не определился, то города выводятся как обычно (по индексу сортировки). 

Сейчас на ум приходить быстрое решение с дублированием кода (сначала одним GetList проверять и выводить определенный город через сессию, а потом вторым GetList, и по сути таким же GetList выводить остальные города) - но это дублирование города, есть какое-нибудь элегантное решение?

спросил 24 Фев, 16 от аноним

1 Ответ

00 голосов
Элегантно - сначала фильтр "NAME" => $city, потом фильтр "!NAME" => $city
ответил 24 Фев, 16 от root (25,590 баллов)
Имелось в виду, через один гетлист. А это получается два гетлиста нужно?
Т.е. больше получается никак? Нет вариантов?
А, конечно, можно .. один GetList - но сразу не выводим список, а сохраняем данные в массив (городов то не очень много). А потом проходим по массиву 2 раза - сначала ищем и выводим текущий город, потом все остальные.
Эх, жаль нельзя как в вашем ответе, было классно..

Один гетлист, но тогда два цикла по массиву, блин, а слабо один гетлист и один цикл? :)

Ладно, шутка, типа, прост думал возможно такое, как в вашем ответе :(

Похожие вопросы

0 голосов
2 ответов
спросил 04 Дек, 13 от Amentet (2,080 баллов)
0 голосов
2 ответов
0 голосов
2 ответов
0 голосов
1 ответ