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.