从Magento中检索产品的顶级类别

时间:2013-07-24 14:56:05

标签: php magento

我在Magento商店有一个产品。它属于C类。

我的架构是 A类> B类> C类

使用下面的代码,在“产品”页面上显示“类别B”。我如何调整以下代码以显示 A类

if(Mage::registry('current_product')) {

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

    $url = strtolower(str_replace(" ","-",$parentCategory->name));

    echo '<a href="/'.$url.'">'.$parentCategory->name.'</a>';

}

我原本想过用URL中的'/'来改变我的代码。

非常感谢您提出的任何指示。

1 个答案:

答案 0 :(得分:2)

C类的父类别是类别B ,而不是类别A 。要获取给定产品的顶级父类别,您需要爬上类别树:

$category = Mage::registry('current_category');

while ($category->getLevel() != 2) {
    $category = Mage::getModel('catalog/category')->load($category->getParentId());
}

每个类别都有一个级别:级别1是目录根目录,级别2是顶级类别,级别2上的任何内容都是子类别。