Jak dodać osobne menu administracyjne dla niestandardowego komponentu


9

Domyślnie komponent niestandardowy można zobaczyć w menu „Rozszerzenia” po stronie administratora. Ale jak mogę utworzyć własne menu u góry w pobliżu menu „Rozszerzenia”, takie jak „Mój komponent”, i wyświetlić pod nim linki podmenu?


Czy mówisz o tym samym, co robi konstruktor społeczności? Jeśli tak, początkowo miałem zamiar polecić przejrzenie ich kodu, ale po obejrzeniu go osobiście myślę inaczej: /
Lodder

@Lodder tak, masz rację. Spodziewam się podobnego modułu. Odnoszę moduł CB i widzę, że mają dużo kodu, aby to osiągnąć. Pomyślałem, że może być prostszy sposób i to jest powód tego pytania.
Malaiselvan

Odpowiedzi:


6

Możemy opracować komponent po stronie administratora z poniższym fragmentem kodu.

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

Powyższy kod tworzy obiekt menu i ładuje 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);

Powyższy kod określi sposób wyświetlania menu. Włączone lub wyłączone.

default_disabled.php

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

Powyższy kod służy tylko do wyświetlenia szarego menu w przypadku wyłączenia.

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

Powyższy kod doda menu i pozycje menu.


Bardzo kompletny i dobrze wyjaśniony, działa świetnie, dziękuję!
jackJoe

4

Aby to zrobić, musisz zastąpić szablon administratora.

Jest tu dość szczegółowy artykuł, który opisuje, jak to zrobić. Został napisany dla Joomla 2.5, ale powinien również działać dla Joomla 3.0

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


Jestem prawie pewien, że musi być inny sposób: Virtuemart 3 pojawia się w górnym menu po instalacji.
Khaarkh

Mogą to zrobić po prostu dodając zastąpienie szablonu podczas instalacji
Søren Beck Jensen

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.