01 - Информационная панель
Обычно используется вставка ссылки в меню компонента для прямого доступа к вашему собственному компоненту. Это делается в файле манифеста:
Пункт меню Component в example.xml
<administration> <menu>COM_EXAMPLE</menu> [.. ] </administration>
Добавьте панель мониторинга к вашему компоненту:
Параметр "dashboard" расширяет пункт меню для вашего компонента со ссылкой на панель мониторинга. Вы можете присвоить этой панели мониторинга любое имя, какое захотите, но примечание: используйте строчные буквы и только "-", никогда не подчеркивайте название панели мониторинга. my-example или пример правильные, my_example, Com-MY_EXAMPLE неправильные.
Панель управления параметрами
- появится значок панели мониторинга рядом с пунктом меню администратора для компонента
- Значок панели мониторинга будет отображен щелчком мыши для отображения модулей, назначенных cpanel-пример позиции модуля администратора
- Заголовок и значок, определенные в XML-файле, будут использоваться в качестве заголовка и значка в верхней части страницы информационной панели компонента.
Ссылка на панель мониторинга
<administration> <menu>> COM_EXAMPLE <params> <dashboard>example</dashboard> </params> </menu> [..] </administration>
Теперь Joomla предоставляет панель мониторинга для вашего компонента. Вы можете добавлять сюда модули, используя позицию: cpanel-example.
Заголовок и значок панели мониторинга
Присвойте панели мониторинга имя и значок. Добавьте это в файл манифеста.:
Заголовок и значок панели мониторинга
<dashboards> <dashboard title="COM_EXAMPLE" icon="icon-calendar">example</dashboard> </dashboards>
Подменю
Если вы хотите обратиться к различным представлениям вашего компонента, разверните меню с помощью подменю.
Элементы подменю
<menu> COM_EXAMPLE <params> <dashboard>example</dashboard> </params> </menu> <submenu> <menu link="option=com_example" view="examples">COM_EXAMPLE_MENU</menu> <menu link="option=com_categories&extension=com_example" view="categories">COM_EXAMPLE_ENU_CATEGORIES</menu> <menu link="option=com_fields&view=fields≈mp;context=com_example.example">COM_EXAMPLE_MENU_FIELDS</menu> <menu link="option=com_fields&view=groups&context=com_example.example">COM_EXAMPLE_MENU_FIELD_GROUPS</menu> </submenu>
Модуль подменю на вашей панели управления
Ваша панель управления пуста и ожидает заполнения модулями. Если вы хотите добавить свое подменю, вам необходимо
- добавьте предустановленные папки к вашему компоненту
- создайте предустановку для вашего модуля
- добавьте папку presets в свой XML -файл
- разверните свой сценарий установки
Пресеты уже используются в ядре, смотрите примеры в компоненте com_menu.
Предустановленное меню
В папке "пресеты" создайте файл пресета, назовите его example.xml.
presets/example.xml
<?xml version="1.0"?> <menu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:joomla.org" xsi:schemaLocation="urn:joomla.org menu.xsd" > <menuitem title="COM_EXAMPLE" type="heading" icon="calendar" dashboard="example" > <menuitem title="COM_EXAMPLE_MENU" type="component" element="com_example" link="index.php?option=com_example&view=examples" /> <menuitem title="COM_EXAMPLE_MENU_CATEGORIES" type="component" element="com_categories" link="index.php?option=com_categories&view=categories&extension=com_example" /> </menuitem> </menu>
Файл манифеста
Новая папка в example.xml
<administration> [..] <files folder="admin"> <folder>forms</folder> <folder>language</folder> <folder>presets</folder> <folder>services</folder> <folder>sql</folder> <folder>src</folder> <folder>tmpl</folder> <filename>access.xml</filename> <filename>config.xml</filename> <filename>example.xml</filename> </files> </administration>
Скрипт установки
Здесь мы предполагаем, что у вас есть сценарий установки в вашем компоненте. Если нет, пожалуйста, прочитайте документ о сценариях установки.
Вы добавляете свой пресет на панель управления вашего компонента с помощью одной строки кода во время установки:
сценарий установки
// Добавить модуль меню в панель мониторинга $this->addDashboardMenu('example', 'example');
Смотрите также: https://api.joomla.org/cms-4/classes/Joomla-CMS-Installer-InstallerScript.html#method_addDashboardMenu