0

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>

このブロックは、2回または3回更新すると、表示されないことがあります。cronを使用して、インデックスの再作成とキャッシュの更新を毎日行っています。しかし、なぜそれがランダムに来るのか分かりませんか?

4

2 に答える 2

1

それは私にはキャッシュの問題のように聞こえます。XMLではなくPHPを介してカスタムメニューを呼び出してみてください

 <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_id')- >toHtml(); ?>

これにより、XMLファイルを使用して発生する可能性のある問題が軽減されます。お役に立てれば!

于 2013-03-11T06:25:21.617 に答える
0
<?php echo $this->getLayout()->createBlock('core/template')->setTemplate('catalog/navigation/top_extra.phtml')->toHtml(); ?>

レイアウトハンドルなしでそのファイルを含めます。これを行う正しい方法がわかりませんか?しかし、それが現れます。ログを入れて、何回表示されないかを確認します。

于 2013-03-11T13:38:06.267 に答える