跨境电商
经验交流分享

Magento后台添加新的导航

在创建新的模块时,经常需要在Magento的后台添加新的菜单导航,方便用户使用新增的功能。默认的,Magento后台包含了Dashboard、Sales、Catalog等等这些预置的导航,用来管理不同的功能。当我们添加一个新的功能到Magento中的时候,如何在后台添加新的菜单导航?

实际上非常简单,甚至不需要了解任何的PHP知识就可以了。因为Magento在后台添加新的菜单,只需要通过xml文件配置即可。在模块目录的etc目录下,创建adminhtml.xml文件,该文件专门用户模块的后台配置,如菜单、布局文件、权限控制等等。

下面这段代码是创建一个全新的顶级菜单,这里以最近正在开发的Shop By Brand作为例子,模块名为shopbybrand。

[xml]
<shopbybrand translate="title" module="shopbybrand">
<title>Shop by Brand</title>
<sort_order>39</sort_order>
<children>
<brand module="shopbybrand">
<title>Shop by Brand</title>
<action>shopbybrand/index/index</action>
</brand>
</children>
</shopbybrand>
[/xml]

以上代码的意思相当明确,会在系统中添加一个新的名为Shop By Brand的顶级菜单,如下图所示。

magento添加后台顶级菜单

magento添加后台顶级菜单

如果我们的功能是隶属于默认存在的某个菜单下,例如目前开发的Shop By Brand功能,应该是存在与catalog下的,即添加一个二级菜单到系统中已经定义的一级菜单中,该如何操作呢?代码如下。

[xml]
<catalog>
<children>
<shopbybrand translate="title" module="shopbybrand">
<title>Shop by Brand</title>
<sort_order>39</sort_order>
<children>
<brand translate="title" module="shopbybrand">
<title>Brand Management</title>
<sort_order>1</sort_order>
<action>adminhtml/shopbybrand/index</action>
</brand>
<sitemap translate="title" module="shopbybrand">
<title>Brand Sitemap</title>
<sort_order>2</sort_order>
<action>adminhtml/shopbybrand/index</action>
</sitemap>
</children>
</shopbybrand>
</children>
</catalog>
[/xml]

magento后台添加二级菜单

magento后台添加二级菜单

和上面一段代码一样,xml文件非常清晰的说明了一切。需要注意的有两个地方。

1,children节点,可以实现子菜单的形式,如果该菜单包含了子目录,就可以省去action节点,因为没有必要再赋予它点击的功能。

2,module=”shopbybrand”,这个是指定了当前所属模块,注意有translate=”title”的存在,即指定了可以翻译的节点,所以需要助手类的存在。因此必须创建shopbybrand/data(可以直接简写为shopbybrand)助手类。

赞(0)
未经允许不得转载:锐想 » Magento后台添加新的导航
分享到: 更多 (0)

评论 2

评论前必须登录!

 

  1. #1

    能说明一下这些XML文件具体添加的位置吗?一直没有找到添加的地方!

    无法添加菜单5年前 (2013-10-01)

锐想电商 - 跨境电商经验交流分享

锐想无限