Задать вопрос
@anton99zel
29а класс средней школы №7

Как сделать сортировку элементов?

В битриксе есть сортировка shows - усредненное количество показов (количество показов / продолжительность показа), т.е. по сути популярные товары выводятся выше.
Как ограничить эту популярность по времени, чтобы первыми были товары популярные не за всё время, а за последние 30 дней? А далее выводим товары в любом другом порядке....
Ну и в принципе - как ограничивать сортировку??
К примеру, показать первыми только 10 новинок, далее любая другая сортировка, а в конце другие новинки...
т.е. нужны ограничения по числу или по периоду.
  • Вопрос задан
  • 679 просмотров
Подписаться 1 Простой 3 комментария
Ответ пользователя alex-1917 К ответам на вопрос (3)
alex-1917
@alex-1917
Если ответ помог, отметь решением
Вот же по твоей ссылке Танюха пишет:
Перед вызовом компонента разместить код:

вот именно тут и формируется массив, именно для сортировки, откуда вообще слово фильтрация вылезло-то???
$sortField = 'ID'; // поле сортировки по умолчанию
$sortOrder = 'ASC'; // направление сортировки по умолчанию
if (
    isset($_GET["sort"]) && isset($_GET["method"]) && (
$_GET["sort"] == "name" || 
             $_GET["sort"] == "catalog_PRICE_3" ||
            $_GET["sort"] == "property_PRODUCT_TYPE" ||
            $_GET["sort"] == "timestamp_x")){
      $sortField = $_GET["sort"];
      $sortOrder = $_GET["method"];
  }


и уже в компоненте применяешь сформированные параметры из массива
"ELEMENT_SORT_FIELD" => $sortField,
        "ELEMENT_SORT_ORDER" => $sortOrder,
Ответ написан