По умолчанию пользовательский компонент отображается в меню «Расширения» на стороне администратора. Но как я могу создать свое собственное меню в верхней части рядом с меню «Расширения», например «Мой компонент», и показывать ссылки подменю под ним?
По умолчанию пользовательский компонент отображается в меню «Расширения» на стороне администратора. Но как я могу создать свое собственное меню в верхней части рядом с меню «Расширения», например «Мой компонент», и показывать ссылки подменю под ним?
Ответы:
Мы можем разработать компонент на стороне администратора с помощью приведенного ниже фрагмента кода.
mod_custommenu.php
$input = JFactory::getApplication()->input;
$menu = new JAdminCSSMenu;
$enabled = $input->getBool('hidemainmenu') ? false : true;
// Render the module layout
require JModuleHelper::getLayoutPath('mod_custommenu', $params->get('layout', 'default'));
Приведенный выше код создает объект меню и загружает default.php
default.php
$document = JFactory::getDocument();
$direction = $document->direction == 'rtl' ? 'pull-right' : '';
require JModuleHelper::getLayoutPath('mod_custommenu', $enabled ? 'default_enabled' : 'default_disabled');
$menu->renderMenu('menu', $enabled ? 'nav ' . $direction : 'nav disabled ' . $direction);
Приведенный выше код будет определять, как меню будет отображаться. Либо включен, либо отключен.
default_disabled.php
$menu->addChild(new JMenuNode(JText::_('Menu'), null, 'disabled'));
Приведенный выше код просто для отображения серого меню в случае отключения.
default_enabled.php
$menu->addChild(new JMenuNode(JText::_('Menu'), '#'), true);
$menu->addChild(new JMenuNode(JText::_('Menu1'), '', 'class:menu1'), 1);
$menu->addChild(new JMenuNode(JText::_('Menu2'), '#', 'class:menu2'));
$menu->getParent();
$menu->getParent();
Приведенный выше код добавит меню и пункты меню.
Вам нужно будет переопределить шаблон администратора, чтобы сделать это.
Здесь есть довольно подробная статья, которая описывает, как это сделать. Он был написан для Joomla 2.5, но также должен работать на Joomla 3.0
http://magazine.joomla.org/issues/item/721-Customizing-the-Admin-Menu
Я делал это сам, но теперь я использую https://extensions.joomla.org/extension/admin-menu-manager