'IBLOCK_ID' => STRUCTURE_IBLOCK_ID так должно быть или тут надо какой-то цифры найти?
private function getMenuTree()
{
$elementData = \Bitrix\Iblock\SectionTable::GetList([
'filter' => [
'IBLOCK_ID' => STRUCTURE_IBLOCK_ID,
],
'select' => [
'id' => 'ID',
'name' => 'NAME',
'IBLOCK_SECTION_ID'
],
'order' => ['SORT' => 'ASC']
])->fetchAll();
$treeMenu = array();
foreach ($elementData as $item) {
$treeMenu[(int)$item['id']] = $item;
}
foreach ($treeMenu as $id => $item) {
if (isset($item['IBLOCK_SECTION_ID'], $treeMenu[(int)$item['IBLOCK_SECTION_ID']])) {
$treeMenu[(int)$item['IBLOCK_SECTION_ID']]['children'][] = &$treeMenu[$id];
}
}
foreach ($treeMenu as $id => $item) {
if (isset($item['IBLOCK_SECTION_ID'])) {
unset($treeMenu[$id]);
}
}
// current — Возвращает текущий элемент массива
return current($treeMenu);
}
private function getMenuTree()
{
$elementData = \Bitrix\Iblock\SectionTable::GetList([
'filter' => [
'IBLOCK_ID' => STRUCTURE_IBLOCK_ID,
],
'select' => [
'id' => 'ID',
'name' => 'NAME',
'IBLOCK_SECTION_ID'
],
'order' => ['SORT' => 'ASC']
])->fetchAll();
$treeMenu = array();
foreach ($elementData as $item) {
$treeMenu[(int)$item['id']] = $item;
}
foreach ($treeMenu as $id => $item) {
if (isset($item['IBLOCK_SECTION_ID'], $treeMenu[(int)$item['IBLOCK_SECTION_ID']])) {
$treeMenu[(int)$item['IBLOCK_SECTION_ID']]['children'][] = &$treeMenu[$id];
}
}
foreach ($treeMenu as $id => $item) {
if (isset($item['IBLOCK_SECTION_ID'])) {
unset($treeMenu[$id]);
}
}
// current — Возвращает текущий элемент массива
return current($treeMenu);
}