仪表盘
通常的做法是在组件菜单中插入一个链接,以便直接访问您自己的组件。这在清单文件中完成
示例 example.xml 中的菜单项组件
<administration>
<menu>COM_EXAMPLE</menu>
[.. ]
</administration>
向您的组件添加仪表盘:
参数“dashboard”将扩展到您的组件的菜单项,并提供指向仪表盘的链接。您可以为这个仪表盘指定任何您想要的名称,但是** 注意:**仪表盘名称请使用小写字母和“-”,不要使用下划线。my-example 或 example 是正确的,my_example、Com-MY_EXAMPLE 是错误的。
param dashboard 参数
- 将在组件的管理员菜单项旁边显示一个仪表盘图标
- 点击仪表盘图标将显示分配给 cpanel-example 管理员模块位置的模块
- XML 文件中定义的标题和图标将用作组件仪表盘页面顶部的标题和图标。
仪表盘链接
<administration>
<menu>>
COM_EXAMPLE
<params>
<dashboard>example</dashboard>
</params>
</menu>
[..]
</administration>
Joomla 现在为您的组件提供了仪表盘。您可以使用 ** position: 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 文件夹
- 为您的模块创建一个预设
- 将 presets 文件夹添加到您的 .xml 文件中
- 扩展您的安装脚本
核心已经使用了预设,请参阅组件 com_menu 中的示例。
菜单预设
在“presets”文件夹中创建一个预设文件,将其命名为 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>
安装脚本
我们假设您的组件中有一个安装脚本。如果没有,请阅读安装脚本的文档。
您可以在安装期间使用一行代码将预设添加到组件的仪表盘中
安装脚本
// Add menu module to dashboard
$this->addDashboardMenu('example', 'example');