欢迎光临微互媒网络,我们是一家专注中小型企业外贸网站建设、magento网站设计、wordpress网站建设公司!

咨询热线:19118193330
微信号
新闻中心News
外贸网站建设|magento网站建设|wordpress网站设计公司-长沙微互媒网络

如何在Magento2的导航菜单中添加自定义链接

作者:auqwyggfhv | 点击: | 来源:auqwyggfhv
2101
2021
有时我们需要在导航菜单中添加一些重要的链接,但类别除外,客户可以通过该类别轻松找到链接并访问我们的信息。...
有时我们需要在导航菜单中添加一些重要的链接,但类别除外,客户可以通过该类别轻松找到链接并访问我们的信息。我们可以通过覆盖默认的magento文件vendor / magento / module-theme / view / frontend / templates来实现此目标/html/topmenu.phtml。但这不是对默认的Magento功能进行更改的好习惯。
 
在Magento 2中添加的新功能是Plugin。 我们将使用插件来实现这一点。
 
我假设我们已经安装了模块。在此博客中,我们将仅添加与此任务相关的文件。
 
1 –我们必须创建app / code / Test / TestCustomMenu / etc / di.xml文件,在其中定义我们的插件。

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <!-- Add Plugin for add custom link in navigation -->
    <type name="Magento\Theme\Block\Html\Topmenu">
        <plugin name="add_menu_item_plugin" type="Test\TestCustomMenu\Plugin\Topmenu" sortOrder="10" disabled="false"/>
    </type>
</config>

 
 
2 –现在,我们必须创建app / code / Test / TestCustomMenu / Plugin / Topmenu.php。在此文件中,我们将修改默认的getHtml函数。此函数返回在导航菜单中调用的列表html。我们在getHtml函数的插件之后添加了用于在预生成的html列表末尾添加我们的自定义链接的功能。

 
<?php
/**
* @category   Webkul
* @package    Test_TestCustomMenu
* @author     Webkul Software Private Limited
* @license    https://store.webkul.com/license.html
*/
 
namespace Test\TestCustomMenu\Plugin;
 
class Topmenu
{
    /**
    * @param Context                                   $context
    * @param array                                     $data
    */
    public function __construct(
        \Magento\Customer\Model\Session $session
    ) {
        $this->Session = $session;
    }
 
 
    public function afterGetHtml(\Magento\Theme\Block\Html\Topmenu $topmenu, $html)
    {
        $swappartyUrl = $topmenu->getUrl('testCustomMenu/custommenu');//here you can set link
        $magentoCurrentUrl = $topmenu->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true]);
        if (strpos($magentoCurrentUrl,'testCustomMenu/custommenu') !== false) {
            $html .= "<li class=\"level0 nav-5 active level-top parent ui-menu-item\">";
        } else {
            $html .= "<li class=\"level0 nav-4 level-top parent ui-menu-item\">";
        }
        $html .= "<a href=\"" . $swappartyUrl . "\" class=\"level-top ui-corner-all\"><span class=\"ui-menu-icon ui-icon ui-icon-carat-1-e\"></span><span>" . __("Custom Menu") . "</span></a>";
        $html .= "</li>";
        return $html;
    }
}
添加以上文件后,请运行以下命令:
-php bin / magento setup:di:compile
php bin / magento cache:flush
 
现在,您可以在导航菜单中检查自定义链接。

我希望这个博客可以帮助您在导航菜单中添加自定义链接。如果您有任何查询,请随时将其放在注释部分。

上一篇:15分钟解决magento2备份问题

下一篇:没有了

我要咨询做网站
成功案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 19118193330
    400-888-9988
Hi,Are you ready?
准备好开始了吗?
那就与我们取得联系吧

咨询送礼现在提交,将获得微互媒网络策划专家免费为您制作
价值5880元《全网营销方案+优化视频教程》一份!
下单送礼感恩七周年,新老用户下单即送创业型空间+域名等大礼
24小时免费咨询热线19118193330
合作意向表
您需要的服务
您最关注的地方
预算
  • 看不清?点击更换

直接咨询