@Keliorw

Как получить только 10 элементов из инфоблока?

Как я понял по логике, если задать в 4-м параметре кол-во элементов для вывода, то это должно работать, но это бы работало, для сайта на котором есть пагинация. А у меня стоит задача, сделать так что бы мне возвращалось конкретно только 10 элементов на запрос GetList.
Вот пример кода, как я это делаю:
$arOrder = [
                        'ID' => 'asc'
                    ];
                    $arFilter = [
                        'SECTION_ID'  => $SECTION_ID,
                        'ACTIVE'      => 'Y',
                        '>ID'         => $IdElement
                    ];
                    return CIBlockElement::GetList($arOrder, $arFilter, false, Array("nTopCount"=>10), ['ID', 'NAME', 'IBLOCK_SECTION_ID']);


Это код внутри функции, все переменный для фильрации передаются в неё.
nPageSize тоже пробовал, не прокатывает
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@Keliorw Автор вопроса
Я так и не придумал как мне конкретно так сделать, поэтому делал сортировку по ID => desc и потом генерировал нужный мне элемент массива из данных которые я получал, вставлял в начало итогового массива и на выходе получал массив в нужном мне порядке и с нужными мне элементами
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
scottparker
@scottparker
$result = CIBlockElement::GetList(array('ID' => 'DESC'), array(), false, array('nTopCount' => 10), array('ID'));
while($item = $result->fetch()){
	$items[] = $item['ID'];
}
echo '<pre>' . print_r($items, true) . '</pre>';

все ок, выводит десять элементов с наибольшими id
попробуй его вставить (без своих фильтров) - если все ок, то проверь свои фильтры
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы