Своя иконка для инфоблока в админке

Код, который позволяет в админке для заданного инфоблока установить свою иконку (автор Максим Смирнов, идея).

Для этого нужно:
1. в css создать правило #my_menu_icon { background:url(путь до иконки); }
2. в /bitrix/php_interface/init.php дописать

AddEventHandler("main", "OnBuildGlobalMenu", array("MyClass", "OnBuildGlobalMenu"));
class MyClass
{
   function OnBuildGlobalMenu(&$aGlobalMenu, &$aModuleMenu)
   {
      $type = "articles"; // тип инфоблока
      $iblock_id = 19; // ID нужного инфоблока

      foreach($aModuleMenu as $i1 => $aMenu1)
      {
         if($aMenu1["items_id"] == "menu_iblock_/$type")
         {
            foreach($aMenu1["items"] as $i4 => $aMenu4)
            {
               if($aMenu4["items_id"] == "menu_iblock_/$type/$iblock_id")
               {
                  $aModuleMenu[$i1]["items"][$i4]["icon"] = "my_menu_icon";
                  //<a id="my_menu_icon"></a> + css = result
               }
            }
         }
      }
   }
}
Если вам понравилась статья, подписывайтесь на обновления блога по rss или присоединяйтесь в twitter

Поделиться ссылкой с друзьями:

Категории: Справочник

Комментарии (2)

  1. Сергей:

    где именно лежит файл стилей админки Битрикс? можете полный путь указать?

  2. /bitrix/panel/main/admin.css
    но лучше его не трогать, а свой подцепить