magento2框架MVVC開發入門(五)后台管理admin之新增菜单项

        本节将开始探索菜单项系统。 我们的最终目标是为ToDoCrud模块添加一个指向 Magento 左侧管理应用程序的链接,这是向 Magento 2 添加后端页面的第一步。

        示例项目后台网址:http://hyh.local.com/admin/

        生成magento2项目的命令(admin后台管理页面的账号密码在此设置admin-user和admin-password):

php bin/magento setup:install --base-url=http://hyh.local.com --db-host=127.0.0.1 --db-name=1hyhtest --db-user=root --db-password= --admin-firstname=olivia --admin-lastname=huang --admin-email=olivia.huang@bcnetcom.com --admin-user=admin  --admin-password=bc123123 --language=en_US --currency=USD --timezone=America/Chicago  --use-rewrites=1 --search-engine=elasticsearch7  --elasticsearch-host=127.0.0.1 --elasticsearch-port=9200

一、新建左侧菜单项(一级菜单)

在ToDoCrud模块下的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>
        <add id="Bcn_ToDoCrud::top_level_example"
             title="Top Level Example"
             module="Bcn_ToDoCrud"
             sortOrder="9999"
             resource="Magento_Backend::content"
        />
    </menu>
</config>

        menu.xml 文件是 <add/> 节点的集合。 每个节点都会向 Magento 的后端添加一个菜单项。

        --id 属性定义了该节点的唯一标识符。 按照惯例是模块的名称(Bcn_ToDoCrud),后跟两个冒号(::),然后是描述模块功能的文本(top_level_example)。

        --title属性的值为展示在页面的菜单项文本。

        --module 属性应该为当前模块Bcn_ToDoCrud。

        --sortOrder 属性控制此菜单项的展示排序。

        --resource属性定义了用户必须具有的 ACL 规则才能访问此菜单项。

刷新admin页面,显示新增的菜单项

二、为新建的菜单项添加子菜单(二级菜单)

在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>
        <add id="Bcn_ToDoCrud::top_level_example"
             title="Top Level Example"
             module="Bcn_ToDoCrud"
             sortOrder="9999"
             resource="Magento_Backend::content"
        />
        <!-- 子节点 -->
        <add id="Bcn_ToDoCrud::second_level_example"
             title="Second Level Example"
             module="Bcn_ToDoCrud"
             sortOrder="9999"
             resource="Magento_Backend::content"

             parent="Bcn_ToDoCrud::top_level_example"
             action="cms/page/index"
        />
    </menu>
</config>

        --parent 属性控制此菜单项父菜单项,即该菜单项属于哪个父节点的子节点。

        --action属性有3段,frontName/controllerName/actionName(route文件中起的前名/控制器名/控制器下的php类名)。

        修改完后,刷新浏览器,top菜单下已经新增second子菜单。

        

三、为子菜单添加菜单项(三级菜单)

        在menu.xml文件添加一个三级菜单

<!-- File: app/code/Pulsestorm/MenuTutorial/etc/adminhtml/menu.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
        <!-- ... -->
        <!-- 三级节点,菜单项-->
        <add id="Bcn_ToDoCrud::third_level_example"
             title="Third Level Example"
             module="Bcn_ToDoCrud"
             sortOrder="9999"
             resource="Bcn_ToDoCrud::content"

             parent="Bcn_ToDoCrud::second_level_example"
             action="cms/page/index"
        />
    </menu>
</config>

        修改完后,清除缓存刷新浏览器:

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值