Par défaut, le composant personnalisé est visible dans le menu "Extensions" du côté de l'administrateur. Mais comment puis-je créer mon propre menu en haut, près du menu "Extensions" comme "Mon composant" et afficher les liens de sous-menu sous celui-ci?
Nous pouvons développer un composant côté administrateur avec l'extrait de code ci-dessous.
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'));
Le code ci-dessus crée un objet de menu et charge le fichier 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);
Le code ci-dessus déterminera comment le menu sera affiché. Activé ou désactivé.
default_disabled.php
$menu->addChild(new JMenuNode(JText::_('Menu'), null, 'disabled'));
Le code ci-dessus est juste pour afficher le menu grisé en cas de désactivation.
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();
Le code ci-dessus va ajouter le menu et les éléments de menu.
Pour ce faire, vous devrez remplacer le modèle d'administration.
Il y a un article assez détaillé ici qui décrit comment faire cela. Il a été écrit pour Joomla 2.5 mais devrait aussi fonctionner pour Joomla 3.0
http://magazine.joomla.org/issues/item/721-Customizing-the-Admin-Men