编辑
好的,从您的描述来看,您似乎想从您所在的当前类别中获取子类别。(IE Getcups
并plates
在batman
类别视图中)。
以下内容应该与获取当前孩子所需的内容一样少。
<?php
$_helper = Mage::helper('catalog/category');
$children = Mage::registry( 'current_category' )->getChildrenCategories();
?>
<ul>
<?php foreach( $children as $child ): ?>
<li><a href="<?php echo $_helper->getCategoryUrl($child); ?>"><?php echo $child->getName() ?></a></li>
<?php endforeach; ?>
</ul>
以前的答案
这有点迂回,但这可以从产品对象中获取父类别 ID。
//If you don't have a product to start with, load by ID.
$_product = Mage::getModel( 'catalog/product' )->load($id);
//Assign Category Model
$categoryModel = Mage::getModel( 'catalog/category' );
//Get Array of Category Id's with Last as First (Reversed)
$_categories = array_reverse( $_product->getCategoryIds() );
//Get Parent Category Id
$_parentId = $categoryModel->load($_categories[0])->getParentId();
//Load Parent Category
$_category = $categoryModel->load($_parentId);
//Do something with $_category
echo $_category->getName();
当产品仅分配一个类别 ID 时,它会更好地工作。如果已将多个类别分配给一个产品,您可能无法获得所需的类别。
此外,您可以使用稍微快一点的方法来获取它,但是如果搜索了产品,则此方法不起作用:
$_category = Mage::getModel( 'catalog/category' )->load( Mage::registry( 'current_category' )->getParentId() );
我没有测试上面的行,但它应该可以工作。仅当通过浏览类别到达产品时。