コードのカテゴリレベルに応じて、カテゴリページのテンプレートを変更する方法は?

magento.stackexchange https://magento.stackexchange.com/questions/173

質問

パターンがないプロジェクトがあり、管理領域にカテゴリのレイアウトのすべての変更を適用しました(Catalog->Manage Categories->Custom Design タブ)。今、私は次のものを持っている必要があります:
親カテゴリには、サムネイルとタイトルを備えたすべてのサブカテゴリのグリッドがあります。

サブカテゴリは、デフォルトのものとほぼ同じように見えます - 名前、説明、製品リスト/グリッド

だから私はこれをしたいと思って、正しい方法は何だろうと思います。

役に立ちましたか?

解決

あなたの中で catalog/category/view.phtml これを使用して、カテゴリレベルを確認できます。

$this->getCurrentCategory()->getLevel()

これをバックエンドで決定する場合は、すべてのサブカテゴリを表示し、カスタムレイアウトの更新に以下を追加する個別のテンプレート全体を作成できます。

<reference name="category.products">
    <action method="setTemplate"><template>catalog/category/list.phtml</template></action>
</reference>

すべてのサブカテゴリを読むには、これを行うことができます。

$children = explode(',', $this->getCurrentCategory()->getChildren());
$collection = Mage::getModel('catalog/category')->getCollection()
        ->addAttributeToSelect('name')
        ->addAttributeToFilter('entity_id', array(
            'in' => $children
        ))->load();

foreach ($collection as $category) {
    echo $category->getName() . '<br />';
}

他のヒント

Catagory Viewテンプレートの上部にIFブロックを配置できるはずです。

何かのようなもの:

<?php if ($this->IsTopCategory()) : ?>

// Insert subcategory grid logic here

<?php endif; ?>
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top