Множественная привязка элементов к разделам

Модуль расширенного управления меню для битрикс

Сентябрь 17, 2026

Теги: Инфоблоки, ORM

Множественная привязка элементов к разделам с помощью классов "\Bitrix\Iblock\SectionElementTable" и "\Bitrix\Iblock\PropertyIndex\Manager".

Привязка элемента к дополнительному разделу:


$iblockId =3;

$elementId 113;
$sectionId 25;
$existSectionLink \Bitrix\Iblock\SectionElementTable::getRow([
    
'filter' => [
        
'IBLOCK_SECTION_ID' => $sectionId,
        
'IBLOCK_ELEMENT_ID' => $elementId,
    ],
]);
if(!
$existSectionLink)
{
    
$result \Bitrix\Iblock\SectionElementTable::add([
        
'IBLOCK_SECTION_ID' => $sectionId,
        
'IBLOCK_ELEMENT_ID' => $elementId,
    ]);
    if(!
$result->isSuccess())
        
var_dump($result->getErrorMessages());
}
\Bitrix\Iblock\PropertyIndex\Manager::updateElementIndex($iblockId$elementId); // обновление фасетного индекса элемента

Удаление связи осуществляется по двойному ключу (ID эта таблица не имеет):


$elementId 23;

$sectionId 12;

$result \Bitrix\Iblock\SectionElementTable::delete([
    
'IBLOCK_SECTION_ID' => $sectionId,
    
'IBLOCK_ELEMENT_ID' => $elementId,
]);

if(!
$result->isSuccess())
    
var_dump($result->getErrorMessages());
Интеграция с iiko и rkeeper, готовый сайт ресторана

См. также:

← Переход к списку