randomizex
@randomizex
http://resume.web-ivan.ru

Почему CIBlockElement::getList не отдает IBLOCK_SECTION?

Делаю запрос в API на получение элементов инфоблока (ну в данном примере конкретного).
\Bitrix\Main\Loader::includeModule("iblock");
$rItems = \CIBlockElement::getList(array("SORT" => "ASC"),
    array(
        'ID' => intval($elId),
        'IBLOCK_ID' => intval($iblockId),
    ));
print_r($rItems->Fetch());

Ожидаю увидеть в массиве:
IBLOCK_SECTION_ID где будет показан основной раздел (он приходит)
и IBLOCK_SECTION где массив ID разделов к которым подвязан элемент. Но этого массива нет.

Почему не приходит этот массив?

В каких случаях вообще приходит это поле IBLOCK_SECTION? Ведь в документации оно есть https://dev.1c-bitrix.ru/api_help/iblock/fields.ph... Я подумал что это связано с флагом (Разрешить выбор основного раздела для привязки.) в настройках инфоблока, но пробуя аналогичный выбор для элемента другого инфоблока у которого нет этой опции получаю аналогичный результат.

Как получить список всех разделов к которым подвязан этот элемент?
  • Вопрос задан
  • 768 просмотров
Решения вопроса 1
randomizex
@randomizex Автор вопроса
http://resume.web-ivan.ru
Почему не приходит этот массив?

Как я понял из того что увидел в самом классе CIBlockElement поле IBLOCK_SECTION и недолжно приходить в getList нет логики его формирования. Оно есть только в Update этого класса и служит для того чтобы можно было подвязать элемент к нескольким разделам + указать Основной раздел IBLOCK_SECTION_ID

В каких случаях вообще приходит это поле IBLOCK_SECTION? Ведь в документации оно есть...

Оно судя по всему не отдается API никогда. Служит только для нужд CIBlockElement::Update

Как получить список всех разделов к которым подвязан этот элемент?

Ну тут приходится пользоваться CIBlockElement::GetElementGroups
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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