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; ?>

请帮忙 :-)


更新

如果我放入$this->isCategoryActive($_category)catalog/product/list.phtml 我会收到以下错误:

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 回答
1

获取当前类别并爬上类别树。您需要 2 级类别(1 级是目录根)。尝试这样的事情:

$category = Mage::getModel('catalog/category')
                    ->load(Mage::registry('current_category'));

while ($category->getLevel() != 2) {
    $category = Mage::getModel('catalog/category')
                        ->load($category->getParentId());
}
于 2013-05-14T00:08:56.633 回答