1

カタログ ページで、現在アクティブなトップ レベルのカテゴリを取得したいと考えています。

例:

1. Top Level Category
  1.1 Sub Category
    1.1.1 Sub sub Category
    1.1.2 Sub sub Category
  1.2 Sub Category
2. Top Level Category
  2.1 Sub Category
  2.2 Sub Category

私がサブサブカテゴリ 1.1.1 にいるとしましょう。どうすればそれを知ることができるか '1. トップ レベル カテゴリ' は現在のトップ レベル カテゴリですか?

次のことを試しましたが、うまくいきませんでした:

            <?php $_cat_helper = Mage::helper('catalog/category') ?>
            <?php $_categories = $_cat_helper->getStoreCategories() ?>

            <?php foreach ($_categories as $_category): ?>
                <?php if ($this->isCategoryActive($_category)): ?>
                <?php echo $_category->getName() ?> <br>
                <?php endif; ?>
            <?php endforeach; ?>

助けてください :-)


アップデート

catalog/product/list.phtml に入れる$this->isCategoryActive($_category)と、次のエラーが発生します。

Invalid method Mage_Catalog_Block_Product_List::isCategoryActive(Array
(
    [0] => 
)
)


Trace:
#0 .../default/template/catalog/product/list.phtml(53): Varien_Object->__call('isCategoryActiv...', Array)
#1 .../default/template/catalog/product/list.phtml(53): Mage_Catalog_Block_Product_List->isCategoryActive(NULL)
4

2 に答える 2

1

理解した:

<?php $_categories = $this->getStoreCategories();?>

<?php foreach($_categories as $_category): ?>
      <?php if($this->isCategoryActive($_category)): ?>
            <?php echo $_category->getName(); ?>
      <?php endif; ?>
<?php endforeach; ?>

ブロックの種類がcatalog/navigation

于 2013-08-12T16:43:22.533 に答える