Comment ajouter un menu d'administration distinct pour un composant personnalisé


9

Par défaut, le composant personnalisé est visible dans le menu «Extensions» du côté 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 cela?


Parlez-vous de la même chose que Community Builder? Si c'est le cas, j'allais initialement recommander de parcourir leur code, mais après l'avoir regardé moi-même, je pense différemment: /
— Lodder

@Lodder oui, vous avez raison. J'attends un module similaire. Je réfère le module CB et je vois qu'ils ont beaucoup de code pour y parvenir. Je pensais qu'il pourrait y avoir une façon plus simple de le faire et c'est la raison de cette question.
— Malaiselvan

Réponses:


6

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é. Soit activé ou désactivé.

default_disabled.php

$menu->addChild(new JMenuNode(JText::_('Menu'), null, 'disabled'));

Le code ci-dessus est juste d'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 ajoutera le menu et les éléments de menu.


Très complet et bien expliqué, fonctionne très bien, merci!
— jackJoe

4

Vous devrez remplacer le modèle d'administration pour ce faire.

Il y a un article assez détaillé ici qui décrit comment procéder. Il a été écrit pour Joomla 2.5 mais devrait également fonctionner pour Joomla 3.0

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


Je suis presque sûr qu'il doit y avoir un autre moyen: Virtuemart 3 apparaît dans le menu supérieur après l'installation.
— Khaarkh

Ils peuvent le faire en ajoutant simplement un remplacement de modèle lors de l'installation
— Søren Beck Jensen

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.