0

Magento ストアのカテゴリ ページの主要な製品リストの下に、注目のアイテムを含むカスタム ファイルを配置しようとしています。

以下を含めるようにcatalog.xmlを編集しました。

    <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
        <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
        ...
        </block>
        <block type="catalog/product" name="featuredcat" as="featuredcat" template="customphp/featured-cat.phtml"/>
    </block>

featuringcat.phtml には、カスタム属性 (注目) が選択された製品を探すループが含まれています。これはうまく機能し、すでにサイドバーに表示されています。

次に追加します:

echo $this->getChildHtml('featuredcat')

catalog/category/view.phtml ファイルの一番下に。しかし、何もレンダリングされません。私はこれが正しいと誓ったかもしれません。私が間違っていることについて誰かが光を当てることができますか?

乾杯。

4

1 に答える 1

3

あなたが提供したレイアウト xml には、featuredcatブロックに直接追加されたproduct_listブロックがあります。したがって、 ではなく 内部から呼び出す必要がありgetChildHtmlます。catalog/product/list.phtmlcatalog/category/view.phtml

したがって、getChildHtml上記のように呼び出しを正しいテンプレートに移動するかfeaturedcat、ブロックを 1 レベル上に移動できます。

<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
    <block type="catalog/product" name="featuredcat" as="featuredcat" template="customphp/featured-cat.phtml"/>
    <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
    ...
    </block>
</block>

または、レイアウト xml をそのままにして getChildChildHtml を使用することもできます :) - しかし、レイアウトを変更する方が良いオプションであると確信しています -

<?php echo $this->getChildChildHtml('product_list', 'featuredcat') ?>
于 2012-07-29T13:11:08.223 に答える