Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
Marso пишет:
Имеется информационный блок. Необходимо сделать, что бы компонент "элементы раздела" сортировал по свойству "сорт" и выводил это в случайном порядке.
Извините, а это как? Случайный порядок уже предполагает отсутствие сортировок.
Дмитрий, в инфоблоке к примеру имеется 20 товаров со значением сорт "500", имеется ещё 20 товаров но со значением сорт "400", возможно ли каким то простым способом сделать, что бы товары выпадали случайным образом, но те 20 товаров с сорт "500" были выше, чем те у которых сорт "400" ?
Вряд ли, на каждой странице запрос будет заново тасовать результат. Если рандомизация нужна однократно или с интервалом времени, можно сделать, например, в служебной странице на кроне изменение значения SORT для элементов в виде N*100000+random, где N - это "старший" порядок сортировки, который не меняется, а random - случайный аппендикс, который генерируется заново при каждом вызове служебной страницы кроном.
Второй вариант, хороший и быстрый, но требующий усилий - закешировать результат запроса с привязкой к сессии и формировать из него страницы постранички. Кеш можно очищать по времени или после перехода пользователя на другую страницу.
Marso пишет:
Единственное, я не до конца понял "с ограничением по числу элементов в выборке."
Это когда надо получать не весь список эелементов, а какую-то часть.
$rsItems = CIBlockElement::GetList(сортировка, фильтр,false,array('nTopCount' =>'максимальное число элементов'))