Please follow the code bellow, which is taken from my Magento Commerce theme:
extract from layout/page.xml
<block type="page/html_header" name="header" as="header">
<block type="page/template_links" name="top.links" as="topLinks"/>
<block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
<block type="directory/currency" name="store_currency_selector" as="store_currency_selector" template="directory/currency_top.phtml"/>
<block type="core/text_list" name="top.menu" as="topMenu" translate="label">
<label>Navigation Bar</label>
<block type="page/template_links" name="top.links.mobile" as="topLinksMobile"/>
<block type="checkout/cart_sidebar" name="cart_sidebar_mobile" as="cartSidebarMobile" template="checkout/cart/topbar.phtml"/>
</block>
<block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
<label>Page Header</label>
<action method="setElementClass"><value>top-container</value></action>
</block>
<block type="checkout/cart_sidebar" name="cart_sidebar" as="topcart" template="checkout/cart/topbar.phtml"/>
</block>
extract from template/catalog/navigation/top.phtml
<li class="level0 nav-2 active level-top first parent">
<a href="javascript:;">ACCOUNT</a>
<?php echo $this->getParentBlock()->getChildHtml('topLinksMobile'); ?>
</li>
<li class="level0 nav-3 active level-top first parent">
<a href="javascript:;">CART</a>
<?php echo $this->getChildHtml('cartSidebarMobile'); ?>
</li>
Basically, what I'm trying to do, is create two sub-blocs inside the "topMenu" block, and than print them into the template by using "getChildHtml" function.
Unfortunately, my function call fails, while the two blocks are loaded before my top.phtml generated content.
Please give me some advice about what am I doing wrong.
Many thanks in advance.