Для выгрузки по 10 элементов из 1C-Bitrix можно использовать следующий подход:
1. Получите общее количество элементов в вашей выборке. Для этого вы можете использовать метод GetListCount() класса CIBlockElement и задать необходимые фильтры и параметры выборки элементов. Например:
$arFilter = array( "IBLOCK_ID" => 1, // ID инфоблока "ACTIVE" => "Y" // только активные элементы ); $cnt = CIBlockElement::GetList(array(), $arFilter, array());
2. Разделите общее количество элементов на 10 и округлите вверх, чтобы определить сколько всего страниц вы будете выгружать. Например:
$perPage = 10; $totalPages = ceil($cnt / $perPage);
3. Используя цикл, который будет выполняться от 1 до $totalPages, получите элементы для каждой страницы с помощью метода GetList() класса CIBlockElement. Например:
for ($page = 1; $page <= $totalPages; $page++) { $arFilter = array( "IBLOCK_ID" => 1, // ID инфоблока "ACTIVE" => "Y", // только активные элементы "LIMIT" => $perPage, // ограничение по количеству элементов "OFFSET" => ($page - 1) * $perPage // смещение элементов для текущей страницы ); $res = CIBlockElement::GetList(array(), $arFilter, false, false, array("ID", "NAME")); // указывайте необходимые поля элементов while ($ob = $res->GetNext()) { // обработка элементов echo $ob["ID"].": ".$ob["NAME"]."<br>"; } }
В этом примере мы получаем элементы только с полями "ID" и "NAME" и выводим их на экран. Вы можете выбирать и обрабатывать нужные вам поля.
Таким образом, данный код позволяет выгружать по 10 элементов за один раз, разделяя выборку на страницы. Вы можете настроить фильтры и параметры выборки в соответствии с вашими требованиями.