0

ストアのカテゴリをヘッダーに追加しようとしています。このために、次の手順を実行します。

page.xml で、次のブロック カテゴリを追加します。

<block type="page/html_header" name="header" as="header">
      <block type="core/template" name="top.categories" as="topCategories" template="catalog/navigation/categories.phtml" />
      ...
</block>

次のコードを使用して、catalog/navigation/ に、categories.phtml を作成します。

<?php $_menu = $this->renderCategoriesMenuHtml(1,'level-top') ?>
<?php if($_menu): ?>
<nav class="left-nav">
    <ul class="nav-list">
        <?php echo $_menu ?>
    </ul>
</nav>
<?php endif ?>

そして、コードを使用して、ヘッダーでこのブロックを呼び出します。

<?php echo $this->getChildHtml('topCategories') ?>

しかし、これを呼び出すと、エラーが返されます。

a:5:{i:0;s:111:"無効なメソッド Mage_Core_Block_Template::renderCategoriesMenuHtml(Array ( [0] => 1 [1] => level-top ) )";i:1;s:3818:" #0 [内部関数]: Varien_Object->__call('renderCategory...', Array)

Magento 1.6.2 を使用しています。

私は何を間違っていますか?

4

1 に答える 1

2

呼び出しているブロックは、メニュー項目を返すメソッドcategories.phtmlを実装する必要があります。renderCategoriesMenuHtmlあなたはcore/templateブロックを使用していますが、これにはそのようなメソッドはありません (すべきではありません)。カテゴリ html の取得を実装する正しいブロック タイプを使用する必要があります。

catalog/navigationの代わりに使用してみてくださいcore/template

于 2013-04-17T12:41:24.737 に答える