Документация для разработчиков
Темная тема

OnBuildGlobalMenu

функция-обработчик 

Пример функции-обработчика

public static function OnBuildGlobalMenu(&$aGlobalMenu, &$aModuleMenu)
{
	global $USER;
	if(!$USER->IsAdmin())
		return;

	$aMenu = array(
		"parent_menu" => "global_menu_content",
		"section" => "clouds",
		"sort" => 150,
		"text" => GetMessage("CLO_STORAGE_MENU"),
		"title" => GetMessage("CLO_STORAGE_TITLE"),
		"url" => "clouds_index.php?lang=".LANGUAGE_ID,
		"icon" => "clouds_menu_icon",
		"page_icon" => "clouds_page_icon",
		"items_id" => "menu_clouds",
		"more_url" => array(
			"clouds_index.php",
		),
		"items" => array()
	);

	$rsBuckets = CCloudStorageBucket::GetList(array("SORT"=>"DESC", "ID"=>"ASC"));
	while($arBucket = $rsBuckets->Fetch())
	$aMenu["items"][] = array(
		"text" => $arBucket["BUCKET"],
		"url" => "clouds_file_list.php?lang=".LANGUAGE_ID."&bucket=".$arBucket["ID"]."&path=/",
		"more_url" => array(
		"clouds_file_list.php?bucket=".$arBucket["ID"],
		),
		"title" => "",
		"page_icon" => "clouds_page_icon",
		"items_id" => "menu_clouds_bucket_".$arBucket["ID"],
		"module_id" => "clouds",
		"items" => array()
	);

	if(!empty($aMenu["items"]))
		$aModuleMenu[] = $aMenu;
}


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Валерий Чебан
Событие OnBuildGlobalMenu отрабатывает и на б24 портале в публичной части, напр. при переходе по пункту меню портала "Карта сайта"
1
Андрей Огибин
Можно и в /php_interface/init.php положить
Код
AddEventHandler("main", "OnBuildGlobalMenu", "MyOnBuildGlobalMenu");
function MyOnBuildGlobalMenu(&$aGlobalMenu, &$aModuleMenu)
{

    // Убрать "Рабочий стол"
    unset($aGlobalMenu["global_menu_desktop"]);
}
11
Алексей Казаков
если положить файл в
Код
$_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/admin_header.php"

то он подключается после инициализации административного левого меню и в нем можно, например, удалить некоторые пункты:

Код
<?
unset($adminMenu->aGlobalMenu["global_menu_content"]);
?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх