Cara menambahkan menu admin terpisah untuk komponen khusus

9

Secara default komponen kustom dapat dilihat di bawah menu 'Extensions' di sisi admin. Tetapi bagaimana saya bisa membuat menu sendiri di bagian atas dekat dengan menu 'Extensions' seperti 'My Component' dan menunjukkan tautan sub menu di bawahnya?

Malaiselvan
sumber
Apakah Anda berbicara tentang hal yang sama yang dilakukan Community Builder? Jika demikian, saya awalnya akan merekomendasikan melihat melalui kode mereka, tetapi setelah melihatnya sendiri saya pikir berbeda: /
Lodder
@Lodder ya, Anda benar. Saya mengharapkan modul serupa. Saya merujuk modul CB dan saya melihat mereka memiliki banyak kode untuk mencapainya. Saya pikir mungkin ada cara yang lebih sederhana untuk dilakukan dan itulah alasan pertanyaan ini.
Malaiselvan

Jawaban:

6

Kami dapat mengembangkan komponen sisi admin dengan cuplikan kode di bawah ini.

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

Kode di atas membuat objek menu dan memuat 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);

Kode di atas akan menentukan bagaimana menu akan ditampilkan. Baik diaktifkan atau dinonaktifkan.

default_disabled.php

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

Kode di atas hanya untuk menampilkan menu berwarna abu-abu jika dinonaktifkan.

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

Kode di atas akan menambahkan menu dan item menu.

Malaiselvan
sumber
Sangat lengkap dan dijelaskan dengan baik, bekerja dengan baik, terima kasih!
jackJoe
4

Anda perlu mengganti template admin untuk melakukan ini.

Ada artikel yang cukup rinci di sini yang menjelaskan cara melakukan ini. Itu ditulis untuk Joomla 2.5 tetapi juga harus bekerja untuk Joomla 3.0

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

Søren Beck Jensen
sumber
Saya cukup yakin pasti ada cara lain: Virtuemart 3 muncul di menu atas setelah menginstal.
Khaarkh
Mereka dapat melakukannya dengan hanya menambahkan template override selama instalasi
Søren Beck Jensen