创建名为:menu.xml
file的管理菜单文件
app/code/Mageplaza/HelloWorld/etc/adminhtml/menu.xml
内容如下:
<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd"> <menu> </menu></config>
<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd"> <menu> <add id="Mageplaza_HelloWorld::helloworld" title="Hello World" module="Mageplaza_HelloWorld" sortOrder="51" resource="Mageplaza_HelloWorld::helloworld"/> <add id="Mageplaza_HelloWorld::post" title="Manage Posts" module="Mageplaza_HelloWorld" sortOrder="10" action="mageplaza_helloworld/post" resource="Mageplaza_HelloWorld::post" parent="Mageplaza_HelloWorld::helloworld"/> <add id="Mageplaza_HelloWorld::hello_configuration" title="Configuration" module="Mageplaza_HelloWorld" sortOrder="99" parent="Mageplaza_HelloWorld::helloworld" action="adminhtml/system_config/edit/section/helloworld" resource="Mageplaza_HelloWorld::helloworld_configuration"/> </menu></config>
在本例中,我们将创建一个名为“Hello World”的 0 级菜单和两个名为“Manage Posts”和“Configuration”的子菜单。menu.xml 文件将定义一个“添加”注释的集合,它将向 Magento 后端添加一个菜单项。我们将看到它的结构:
<add id="Mageplaza_HelloWorld::post" title="Manage Posts" module="Mageplaza_HelloWorld" sortOrder="10" action="mageplaza_helloworld/post" resource="Mageplaza_HelloWorld::post" parent="Mageplaza_HelloWorld::helloworld"/>
让我们解释一些属性:
该id
属性是该注释的标识符。这是一个唯一的字符串,应遵循以下格式:{Vendor_ModuleName}::{menu_description}。
该title
属性是将显示在菜单栏上的文本。
属性定义该module
菜单所属的模块。
该sortOrder
属性定义了菜单的位置。较低的值将显示在菜单顶部。
该parent
属性是其他菜单节点的 Id。它会告诉 Magento 这个菜单是另一个菜单的子菜单。在这个例子中,我们有 parent=”Mageplaza_HelloWorld::helloworld”,所以我们知道这个菜单“管理帖子”是“Hello World”菜单的子菜单,它将显示在 Hello World 菜单中。
该action
属性将定义此菜单链接到的页面的 url。正如我们上面所说的,url 将遵循这种格式 {router_name} {controller_folder} {action_name}。- 在本例中,此菜单将链接到模块 HelloWorld、控制器 Post 和操作索引
该resource
属性用于定义管理员用户必须具有的 ACL 规则才能查看和访问此菜单。我们将在其他主题中找到有关 ACL 的更多详细信息。
您还可以创建更多子菜单,它会像上面的商店菜单一样显示。
我想谈谈顶部菜单级别的图标。您可以在 0 级菜单标题上方看到它们。这个图标是由 Magento 中的 'Admin Icons' 字体生成的。您可以在此链接中查看所有图标以及如何创建图标