如何在 magento2 的 header 包装器内移动顶部菜单?

How to move topmenu inside header wrapper in magento2?

如何在 header 包装参考中移动顶部菜单 [magentoroot]vendor/magento/module-theme/view/frontend/layout/default.xml

我想把catalog.topnav移到header-wrapper

里面
<referenceContainer name="page.top">
            <block class="Magento\Theme\Block\Html\Topmenu" name="catalog.topnav" template="html/topmenu.phtml" ttl="3600"/>
</referenceContainer>
<referenceContainer name="header-wrapper">
</referenceContainer>

谢谢

在[magentoroot]中添加以下代码vendor/magento/module-theme/view/frontend/layout/default.xml

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
      <move element="catalog.topnav" destination="header-wrapper" after="logo"/>
    </body>
</page>

我建议你在你的 app/design/frontend/yourVendor/yourTheme/Magento_Theme/page_layout

在里面创建你的 default.xml 并粘贴:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
      <move element="catalog.topnav" destination="header-wrapper" after="logo"/>
    </body>
</page>

为了让它工作,我必须移动整个 navigation.sections 块。否则菜单看起来会因移动分辨率而损坏。我正在使用 Magento 2.1.1,我的主题继承自 blank.

/app/design/frontend/<Vendor>/<theme>/Magento_Theme/layout/default.xml 中添加:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <move element="navigation.sections" destination="header-wrapper" after="logo"/>
    </body>
</page>