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




CIBlockSection::GetList как ограничить выборку?

0 голосов
Собственно использую CIBlockSection::GetList мне нужно взять только последние 3 категории, подскажите, как это сделать?
спросил 12 Ноя, 13 от Snezhka (2,240 баллов)

3 Ответы

0 голосов
Цитата
Олег Белов пишет:
CIBlockSection::GetLis

Предлагаю такой вариант:
Задать сортировку результата обратной той, которая нужна
Результат разбить на страницы по 3 элемента и вывести только первую страницу
Код
  $db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
  $db_list->NavStart(3);
  echo $db_list->NavPrint($arIBTYPE["SECTION_NAME"]);
  while($ar_result = $db_list->GetNext())
  {
    echo $ar_result['ID'].' '.$ar_result['NAME'].': '.$ar_result['ELEMENT_CNT'].'<br>';
  }
ответил 25 Дек, 13 от Oggi (520 баллов)
0 голосов
да, вариант конечно, но нет ли способа ограничить выборку как-то иначе? дело все в том, что при таком методе не сработает сортировка RAND
ответил 10 Апр, 14 от Snezhka (2,240 баллов)
0 голосов
Еще можно попробовать задать параметр выборки: arNavStartParams
Цитата
nPageSize. Например: если nPageSize равно 2-м, то будут выбраны максимум 5-ть элементов. Соседи определяются порядком сортировки заданным в параметре arOrder (см. выше) .
ответил 03 Авг, 14 от Oggi (520 баллов)

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

0 голосов
6 ответов
0 голосов
3 ответов
спросил 07 Март, 14 от aisigylka (100 баллов)
0 голосов
2 ответов
0 голосов
2 ответов
спросил 28 Ноя, 13 от Duffel (100 баллов)
0 голосов
5 ответов
спросил 17 Ноя, 13 от HeJIJIu (630 баллов)