У меня была задача сделать меню из нескольких блоков (их коды в $sect), и вывести элементы без привязки к разделам ("SECTION_ID"=>false)
[CODE]<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if(!CModule::IncludeModule("iblock")){die("die");exit();}
$sect = array(
"help",
"contacts",
"about",
);
$arBlockFilter = array(
'SITE_ID'=>SITE_ID,
'ACTIVE'=>'Y',
'CODE'=>$sect,
'TYPE'=>"mag1"
);
$db_block_res = CIBlock::GetList(array("SORT"=>"ASC"), $arBlockFilter);
while($IBLOCK = $db_block_res->Fetch()){
$arMenuLinks[] = array(
$IBLOCK["NAME"],
str_replace("#SITE_DIR#", "", $IBLOCK["SECTION_PAGE_URL"]),
"",
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => "1",
),
);
if($IBLOCK){
$arMenuLinks[count($arMenuLinks)-1][3]["IS_PARENT"] = true; // make last section is parent
$res_db = CIBlockElement::GetList(Array(), array("IBLOCK_ID"=>$IBLOCK["ID"], "SECTION_ID"=>false), false, false, array("NAME", "DETAIL_PAGE_URL"));
while($res = $res_db->GetNext()){
$arMenuLinks[] = array(
$res["NAME"],
$res["DETAIL_PAGE_URL"],
"",
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => "2",
),
);
}
}
}
$aMenuLinks = array_merge($arMenuLinks, $aMenuLinks);
?>[/CODE]
[CODE]<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if(!CModule::IncludeModule("iblock")){die("die");exit();}
$sect = array(
"help",
"contacts",
"about",
);
$arBlockFilter = array(
'SITE_ID'=>SITE_ID,
'ACTIVE'=>'Y',
'CODE'=>$sect,
'TYPE'=>"mag1"
);
$db_block_res = CIBlock::GetList(array("SORT"=>"ASC"), $arBlockFilter);
while($IBLOCK = $db_block_res->Fetch()){
$arMenuLinks[] = array(
$IBLOCK["NAME"],
str_replace("#SITE_DIR#", "", $IBLOCK["SECTION_PAGE_URL"]),
"",
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => "1",
),
);
if($IBLOCK){
$arMenuLinks[count($arMenuLinks)-1][3]["IS_PARENT"] = true; // make last section is parent
$res_db = CIBlockElement::GetList(Array(), array("IBLOCK_ID"=>$IBLOCK["ID"], "SECTION_ID"=>false), false, false, array("NAME", "DETAIL_PAGE_URL"));
while($res = $res_db->GetNext()){
$arMenuLinks[] = array(
$res["NAME"],
$res["DETAIL_PAGE_URL"],
"",
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => "2",
),
);
}
}
}
$aMenuLinks = array_merge($arMenuLinks, $aMenuLinks);
?>[/CODE]