I'm migrating from Magento 1.x to Magento 2
I created default.xml file to customize the existing layout.
My situation is that I have a div named "main-header" and I want a nested div inside it named "menu".
Now, I know blocks can have templates. So I tried to create a nested block structure (don't know if it is valid in 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>
In the top_header.phtml, I'm trying to call:
<?php $block->getChildHtml('header.menu'); ?>
I know the above statement I took from Magento 1.x