当前位置: 技术文章>> 如何将内容链接添加到Magento 2中的顶部菜单

文章标题:如何将内容链接添加到Magento 2中的顶部菜单
  • 文章分类: Magento
  • 17685 阅读
系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》

本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。


在Magento 2中将内容链接添加到顶部菜单的步骤:

步骤1:转到以下文件路径

app\code\Vendor\Extension\etc\frontend\events.xml

现在,添加代码,如下所示

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="page_block_html_topmenu_gethtml_before">
        <observer name="vendor_extension_observer" instance="Vendor\Extension\Observer\Topmenu" />
    </event>
</config>

步骤2:然后移动到以下文件位置

app\code\Vendor\Extension\Observer\Topmenu.php

添加代码,如下所述

<?php
namespace Vendor\Extension\Observer;
use Magento\Framework\Event\Observer as EventObserver;
use Magento\Framework\Data\Tree\Node;
use Magento\Framework\Event\ObserverInterface;
class Topmenu implements ObserverInterface
{
    public function execute(EventObserver $observer)
    {
        $menu = $observer->getMenu();
        $tree = $menu->getTree();
        $data = [
            'name'      => __('Menu item label link'),
            'id'        => 'some-unique-id-here',
            'url'       => 'url goes here',
            'is_active' => ‘true’
        ];
        $node = new Node($data, 'id', $tree, $menu);
        $menu->addChild($node);
        return $this;
    }
}
 
?>

步骤3:最后,运行以下命令

php bin/magento cache:flush

结果:该链接将添加到Magento 2的顶部菜单中。

顶部菜单

结论:

通过这种方式,您可以轻松地将自定义链接添加到万磁王 2 的顶部菜单。