So fügen Sie ein separates Administratormenü für eine benutzerdefinierte Komponente hinzu


9

Standardmäßig wird die benutzerdefinierte Komponente auf der Administratorseite im Menü "Erweiterungen" angezeigt. Aber wie kann ich mein eigenes Menü oben in der Nähe des Menüs "Erweiterungen" wie "Meine Komponente" erstellen und Untermenü-Links darunter anzeigen?


Sprechen Sie über dasselbe, was Community Builder tut? Wenn ja, wollte ich zunächst empfehlen, ihren Code durchzusehen, aber nachdem ich ihn mir selbst angesehen habe, denke ich anders: /
Lodder

@Lodder ja, du bist richtig. Ich erwarte ein ähnliches Modul. Ich verweise auf das CB-Modul und sehe, dass es viel Code gibt, um dies zu erreichen. Ich dachte, es könnte einen einfacheren Weg geben, und das ist der Grund für diese Frage.
Malaiselvan

Antworten:


6

Wir können eine admin-seitige Komponente mit dem folgenden Code-Snippet entwickeln.

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

Der obige Code erstellt ein Menüobjekt und lädt die Datei 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);

Der obige Code bestimmt, wie das Menü angezeigt werden soll. Entweder aktiviert oder deaktiviert.

default_disabled.php

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

Der obige Code dient nur zur Anzeige des grau hinterlegten Menüs bei Deaktivierung.

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

Der obige Code fügt das Menü und die Menüelemente hinzu.


Sehr vollständig und gut erklärt, funktioniert super, danke!
JackJoe

4

Sie müssen dazu die Admin-Vorlage überschreiben.

Es gibt hier einen ziemlich detaillierten Artikel, der beschreibt, wie das geht. Es wurde für Joomla 2.5 geschrieben, sollte aber auch für Joomla 3.0 funktionieren

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


Ich bin mir ziemlich sicher, dass es einen anderen Weg geben muss: Virtuemart 3 wird nach der Installation im oberen Menü angezeigt.
Khaarkh

Sie können dies tun, indem sie einfach eine Vorlagenüberschreibung während der Installation hinzufügen
Søren Beck Jensen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.