Этот код выводит полную информацию о всех разделах элемента (включая иерархию путей до каждого раздела) по указанному ID элемента.
| Код |
|---|
<?php
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php';
$elementId = 123; // ID элемента
$sectionInfo = [];
$rsSections = CIBlockElement::GetElementGroups($elementId, true);
while ($section = $rsSections->Fetch()) {
$path = [];
$currentSection = $section;
while ($currentSection['IBLOCK_SECTION_ID']) {
$parentSection = CIBlockSection::GetByID($currentSection['IBLOCK_SECTION_ID'])->Fetch();
if ($parentSection) {
$path[] = $parentSection['NAME'];
$currentSection = $parentSection;
}
}
$sectionInfo[] = [
'ID' => $section['ID'],
'NAME' => $section['NAME'],
'DEPTH_LEVEL' => $section['DEPTH_LEVEL'],
'FULL_PATH' => array_reverse($path)
];
}
echo "<pre>";
print_r($sectionInfo);
echo "</pre>";
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_after.php';
?> |