Чтобы в arrFilter вывести не только элементы конкретного раздела, но и его подразделов, вам необходимо использовать функцию GetIBlockSectionChildrenCount() вместе с параметром 'WITH_DESC_COUNT' равным 'Y'.
Вот пример кода:
$sectionId = 1; // ID раздела $filter = [ 'IBLOCK_ID' => 1, // ID информационного блока 'SECTION_ID' => $sectionId, // ID раздела '<=LEFT_MARGIN' => 'B'.$sectionId, // Левая граница раздела '>=RIGHT_MARGIN' => 'B'.$sectionId, // Правая граница раздела 'ACTIVE' => 'Y', // Активные элементы 'CHECK_PERMISSIONS' => 'Y', // Проверять права доступа ]; $childCount = GetIBlockSectionChildrenCount(1, $sectionId, true, 'WITH_DESC_COUNT'); if ($childCount > 0) { $filter['INCLUDE_SUBSECTIONS'] = 'Y'; }
В этом примере, выполняется проверка наличия подразделов раздела с использованием функции GetIBlockSectionChildrenCount(). Если количество подразделов больше нуля, то добавляется параметр INCLUDE_SUBSECTIONS со значением 'Y' в массив фильтра.
Теперь при использовании этого фильтра, вам будут выводиться элементы не только из указанного раздела, но и из его подразделов.