У меня была задача сделать меню из нескольких блоков (их коды в $sect), и вывести элементы без привязки к разделам ("SECTION_ID"=>false)
Код |
---|
<? 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); ?> |