的catalog.xml
<default>
<!-- Mage_Catalog -->
<reference name="top.menu">
<block type="catalog/navigation" name="catalog.topnav" template="catalog/navigation/top.phtml">
<block type="catalog/navigation" name="topnav_extra" template="catalog/navigation/top_extra.phtml" />
</block>
</reference>
top_extra.phtml
<ul>
<li> Custom Menu1 </li>
<li> Custom Menu2 </li>
</ul>
top.phtml
<?php if($_menu): ?>
<ul id="topnav">
<?php echo $_menu ?>
<!-- Header Menu laset tab start here -->
<?php echo $this->getChildHtml('topnav_extra'); ?>
</ul>
当我刷新两次或三次即将来临时,此块无法显示。我正在使用cron进行重新索引和缓存刷新。但我不知道为什么它会随机出现?
答案 0 :(得分:1)
这对我来说听起来像是一个缓存问题。尝试通过PHP而不是XML
调用自定义菜单 <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_id')- >toHtml(); ?>
这将缓解您使用XML文件可能遇到的任何问题。希望这有帮助!
答案 1 :(得分:0)
<?php echo $this->getLayout()->createBlock('core/template')->setTemplate('catalog/navigation/top_extra.phtml')->toHtml(); ?>
我将该文件包含在布局句柄中。我不确定这是正确的方法吗?但它出现了。我把日志知道了多少次没出现..会看到