Добавить свой тип пункта меню в админке

Для добавления или изменения типа пункта меню необходимо подвесить обработчик события  (вызывается из /administrator/components/com_menus/models/menutypes.php):

    function onAfterGetMenuTypeOptions(&$list, $model){
        // Добавляем тип меню для компонента Ajax, если его нет
        if(!isset($list['com_ajax'])){
            $list['com_ajax'] = array();
            $option = new JObject;
            $option->title = "COM_AJAX";
            $option->description = "COM_AJAX_XML_DESCRIPTION";
            $option->request = array('option' => "com_ajax", 'module' => "forms", 'format' => "json");
            $list['com_ajax'][] = $option;
            $model->addReverseLookupUrl($option);
            // Подключаем языки
            $lang = JFactory::getLanguage();
            $componentLanguageFolder = JPATH_ADMINISTRATOR . '/components/' . $option->request['option'];
            $lang->load($option->request['option'] . '.sys', JPATH_ADMINISTRATOR, null, false, true) || $lang->load($option->request['option'] . '.sys', $componentLanguageFolder, null, false, true);
        }
    }