Skip to content

Instantly share code, notes, and snippets.

@BekNaji
Last active December 2, 2021 11:35
Show Gist options
  • Save BekNaji/102ee1d9ddbdb4d60f8ed71a5a26add7 to your computer and use it in GitHub Desktop.
Save BekNaji/102ee1d9ddbdb4d60f8ed71a5a26add7 to your computer and use it in GitHub Desktop.
<?
// path: /local/templates/template_name/components/bitrix/menu/component_name/php_interface.php
$newResult=array();
foreach ($arResult as $key=>$arItem)
{
if($arItem["DEPTH_LEVEL"]==1)
{
$f=$key;
$newResult[$key]=$arItem;
}elseif($arItem["DEPTH_LEVEL"]==2)
{
$s=$key;
$newResult[$f]["CHILD"][$key]=$arItem;
}elseif($arItem["DEPTH_LEVEL"]==3)
{
$d=$key;
$newResult[$f]["CHILD"][$s]["CHILD"][$key]=$arItem;
}elseif($arItem["DEPTH_LEVEL"]==4)
{
$newResult[$f]["CHILD"][$s]["CHILD"][$d]['CHILD'][$key]=$arItem;
}
}
$arResult=$newResult;
// it makes
/*
[0] => Array
(
[TEXT] => Section name
[LINK] => /helpdesk/section-code/
[SELECTED] =>
[PERMISSION] => X
[ADDITIONAL_LINKS] => Array
(
[0] => /helpdesk/section-code/
)
[ITEM_TYPE] => D
[ITEM_INDEX] => 0
[PARAMS] => Array
(
[FROM_IBLOCK] => 1
[IS_PARENT] => 1
[DEPTH_LEVEL] => 1
)
[DEPTH_LEVEL] => 1
[IS_PARENT] => 1
[CHILD] => Array
(
[1] => Array
(
[TEXT] => Sub Menu 1
[LINK] => /helpdesk/sub-menu-1/
[SELECTED] =>
[PERMISSION] => X
[ADDITIONAL_LINKS] => Array
(
[0] => /helpdesk/sub-menu-1/
)
[ITEM_TYPE] => D
[ITEM_INDEX] => 1
[PARAMS] => Array
(
[FROM_IBLOCK] => 1
[IS_PARENT] =>
[DEPTH_LEVEL] => 2
)
[DEPTH_LEVEL] => 2
[IS_PARENT] =>
)
)
)
[1] => Array(),
...
...
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment