Документация для разработчиков
Темная тема

SetElementSection

Использование метода не рекомендуется, так как он служебный, хоть и публичный. Для передачи привязок к разделам необходимо использовать CIBlockElement::Update, передавая ключи IBLOCK_SECTION_ID и IBLOCK_SECTION.

Описание и параметры

CIBlockElement::SetElementSection(
	int ID,
	array arSections,
	bool bNew = false,
	int bRightsIBlock = 0
);

Метод привязывает элемент информационного блока к группам. Нестатический метод. При использовании метода время обновления элемента не меняется.

При использовании метода, поменяется ID главного раздела, на наименьший из id передаваемого массива кодов групп только в случае, когда в инфоблоке не включали параметр Разрешить выбор основного раздела для привязки. Для инфоблоков с включенной настройкой основной раздел не изменится.

Параметры вызова

ПараметрОписание С версии
ID Код (ID) элемента.
arSections Массив кодов групп, к которым принадлежит указанный элемент. Если передать пустой, то элемент будет "отвязан" от всех групп.
bNewНеобязательный. Если это новый элемент или элемент не имеющий привязок, то можно указать значением этого параметра true. Это позволит экономит один запрос.

Параметр используется только для оптимизации, когда известно, что элемент ни к чему не привязан.
6.5.7
bRightsIBlockКод (ID) инфоблока, к которому принадлежит элемент. Параметр обязателен в случае включенных расширенных прав, иначе - необязателен.11.0.5
sectionIdID раздела, который считать основным. (int или null). Необязательный параметр.11.0.5

Начиная с версии 15.0.1 модуля Информационные блоки, добавлен фасетный (т.е. предопределенный) поиск по товарам торгового каталога. После использовании функции CIBlockElement::SetElementSection() необходимо осуществить:

PropertyIndex\Manager::updateElementIndex($iblockId, $elementId);

Смотрите также

Примеры использования

<?
$ID = 18;  // код элемента
$arSects = array(1, 5, 7); // массив кодов групп
CIBlockElement::SetElementSection($ID, $arSects);
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
2
dpechurkin
Возвращает true если элемент успешно привязан к разделу/разделам и вернёт false если привязка не удалась, а так же false вернётся если элемент привязан к тем же разделам к которым вы хотите их привязать.
10
Антон Гусев
Внимание всем кто использует этот метод!
Начиная с версии 15.0.1 модуля Информационные блоки, добавлен фасетный (т.е. предопределенный) поиск по товарам торгового каталога.

Если у вас используется фасетный индекс, после использовании функции CIBlockElement::SetElementSection()  нужно сделать \Bitrix\Iblock\PropertyIndex\Manager::updateElementIndex($intIBlockID, $intElementID);
Иначе с товарами на сайте начнутся приключения, и вы не увидите их там где ожидаете
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх