Как добавить отдельное меню администратора для пользовательского компонента


9

По умолчанию пользовательский компонент отображается в меню «Расширения» на стороне администратора. Но как я могу создать свое собственное меню в верхней части рядом с меню «Расширения», например «Мой компонент», и показывать ссылки подменю под ним?


Вы говорите о том же, что делает Community Builder? Если так, то я изначально собирался порекомендовать просмотреть их код, но, посмотрев на него сам, я думаю по-другому: /
Lodder

@ Лоддер, да, ты прав. Я ожидаю аналогичного модуля. Я ссылаюсь на модуль CB и вижу, что у них много кода для его достижения. Я думал, что может быть более простой способ сделать, и это причина этого вопроса.
Малайзельван

Ответы:


6

Мы можем разработать компонент на стороне администратора с помощью приведенного ниже фрагмента кода.

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();

Приведенный выше код добавит меню и пункты меню.


Очень полная и хорошо объясненная, отлично работает, спасибо!
JackJoe

4

Вам нужно будет переопределить шаблон администратора, чтобы сделать это.

Здесь есть довольно подробная статья, которая описывает, как это сделать. Он был написан для Joomla 2.5, но также должен работать на Joomla 3.0

http://magazine.joomla.org/issues/item/721-Customizing-the-Admin-Menu


Я уверен, что должен быть другой путь: Virtuemart 3 появляется в верхнем меню после установки.
Хаарх

Они могут сделать это, просто добавив переопределение шаблона во время установки
Søren Beck Jensen

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.