Magento 2嵌套块

Ash*_*osh 9 block magento2

我正在从Magento 1.x迁移到Magento 2

我创建了default.xml文件来自定义现有布局.

我的情况是我有一个名为"main-header"的div,我想要一个名为"menu"的嵌套div.

现在,我知道块可以有模板.所以我尝试创建一个嵌套的块结构(不知道它是否在Magento 2中有效):

<referenceContainer name="header.container">
        <container name="common-header" label="Header common to all pages" as="common-header" htmlTag="div" htmlClass="main-header">
            <block class="Mymodule\Test\Block\Header" template="header/top_header.phtml">
                <block name="header.menu" class="Mymodule\Test\Block\Menu" template="header/menu.phtml"/>
            </block>
        </container>
    </referenceContainer>
Run Code Online (Sandbox Code Playgroud)

在top_header.phtml中,我正在尝试调用:

<?php $block->getChildHtml('header.menu'); ?>
Run Code Online (Sandbox Code Playgroud)

我知道我从Magento 1.x那里得到的上述陈述

Ash*_*osh 6

愚蠢的错误,我失去了回音:

<?php echo $block->getChildHtml('header.menu'); ?>
Run Code Online (Sandbox Code Playgroud)