Your IP : 3.128.94.125
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
$aMenuLinksExt = array();
$aMenuLinksNew = array();
$resMenu = CIBlockSection::GetList(
Array("left_margin" => "asc"),
//Array("ACTIVE"=>"Y","GLOBAL_ACTIVE"=>"Y","IBLOCK_ID"=>IBLOCK_CATALOG, "UF_EXTERNAL_LINK"=>false),
Array("ACTIVE" => "Y", "GLOBAL_ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_CATALOG, "ELEMENT_SUBSECTIONS" => "Y", "CNT_ACTIVE" => "Y"),
true,
Array(
"ID",
"DEPTH_LEVEL",
"NAME",
"PICTURE",
"SECTION_PAGE_URL",
"LIST_PAGE_URL",
"UF_EXTERNAL_LINK",
"UF_GROUP"
),
false
);
//$menuIndex = 0;
$previousDepthLevel = 1;
$startIndex = 0;
while($obMenu = $resMenu->GetNext()) {
if($obMenu['ELEMENT_CNT'] == 0 && !$obMenu['UF_EXTERNAL_LINK']) continue; // Пропускаем пустые разделы, кроме Бытовой Техники (2213)
if ($startIndex > 0)
$aMenuLinksNew[$startIndex - 1][3]["IS_PARENT"] = $obMenu["DEPTH_LEVEL"] > $previousDepthLevel;
$previousDepthLevel = $obMenu["DEPTH_LEVEL"];
$aMenuLinksNew[] = Array(
$obMenu['NAME'],
($obMenu['UF_EXTERNAL_LINK'] ? $obMenu['UF_EXTERNAL_LINK'] : $obMenu['SECTION_PAGE_URL']),
Array($obMenu['SECTION_PAGE_URL']),
Array(
'FROM_IBLOCK' => true,
'CATALOG' => false,
'PICTURE' => $obMenu['PICTURE'],
'IS_PARENT' => false,
'DEPTH_LEVEL' => $obMenu['DEPTH_LEVEL'],
'GROUP' => $obMenu['UF_GROUP']
),
""
);
if($obMenu["DEPTH_LEVEL"] == 1)
$aMenuLinksNew[$startIndex][3]['CATALOG'] = true;
$startIndex++;
}
// Получаем список групп нулевого уровня и пересобираем меню относительно него
$arTopLevelGroups = array();
$ob = CUserTypeEntity::GetList(array(),array(
'ENTITY_ID' => 'IBLOCK_'.IBLOCK_CATALOG.'_SECTION',
'FIELD_NAME' => 'UF_GROUP'
));
if($ar = $ob->Fetch()){
$groupFieldId = $ar['ID'];
}
$ob = CUserFieldEnum::GetList(array('SORT' => 'ASC'), array(
'USER_FIELD_ID' => $groupFieldId
));
while($ar = $ob->Fetch()){
$arTopLevelGroups[] = array(
$ar['VALUE'],
'',
Array(),
Array(
'FROM_IBLOCK' => true,
'CATALOG' => false,
'PICTURE' => false,
'IS_PARENT' => true,
'DEPTH_LEVEL' => 1,
),
""
);
$branchValid = false;
foreach ($aMenuLinksNew as $key => $aMenu) {
if($aMenu[3]['DEPTH_LEVEL'] == 1){
$branchValid = ($aMenu[3]['GROUP'] == $ar['ID']);
}
if($branchValid){
$aMenu[3]['DEPTH_LEVEL'] += 1;
$arTopLevelGroups[] = $aMenu;
}
}
}
$aMenuLinks = array_merge($arTopLevelGroups, $aMenuLinks);
//dump($aMenuLinks);