2011-10-17 138 views
0

我正在使用以下代码片段来获取每个产品的类别ID。Magento从产品中获取特定类别ID

$categoryIds = $_product->getCategoryIds(); 

foreach($categoryIds as $categoryId) { 
    $category = Mage::getModel('catalog/category')->load($categoryId); 
    echo $category->getName(); 
    echo $category->getUrlPath(); 
} 

然后,我将结果传递到开关来标识类别名称。

我的问题是,我刚才说,有一些产品将被放入一个销售类,以及

echo $category->getName(); 

的结果是销售类,而不是“实际”的范畴它在不在。

有没有人有如何使它的建议a)忽略销售类别,b)获取存储在产品中的下一个类别id,c)使其以某种其他方式工作。

任何帮助将不胜感激!

+0

您的产品在多个类别,除了出售类上市? –

+0

theres品牌的主要类别,然后选择两个额外的类别之一正在出售 – Xand94

回答

1

不能确定的目标是什么,但你可以做这样的事情

if ($category->getName == 'Sales') { 
    continue; 
} 

array_filter $ categoryIds排除Sales类别

+0

我正在使用该ID来获取猫名称并将猫名称发送到开关来调整名称的字体颜色。唯一的问题是如果某件东西在销售中,它会带来销售而不是范围名称。我尝试过使用continue方法,但它没有得到实际的范围名称,只是跳过出售的物品。 – Xand94

+0

你可以请发布你在做什么的细节?您列出类别的示例代码。可能有一个更简单的解决方案 – Zifius

相关问题