2014-05-19 128 views
0

得到具体类别名称这是我的代码:Magento的 - 从产品ID

$product = Mage::getModel('catalog/product')->load($_item['product_id']); 
$cats = $product->getCategoryIds(); 

foreach ($cats as $category_id) { 
$_cat = Mage::getModel('catalog/category')->load($category_id); 
    if ($category_id == 3 || 4 || 5 || 6 || 7 || 8) { 
      echo $_cat->getName(); 
    } 
} 

我想只显示一个特定的类别(CAT)名称:

如果产品(它始终只是一个这是显示)是在一个特定的猫(特定的猫ID是:3,4,5,6,7,8)它应该显示猫的名字(但只有这些ID之一的猫名)。

每个产品只在这些猫中的一只,但它有更多的猫(小猫和默认猫)。我的代码显示所有猫的名字(默认,猫4和小猫),但我只想要猫的名字4.我的表达式不起作用。有没有人有一个想法如何解决这个问题?

回答

2

您要检查您的变量是否是一组的一部分,所以它是明智的做法是建立一个数组,检查值是否为数组中:

$elements = array(3, 4, 5, 6, 7, 8); 
$product = Mage::getModel('catalog/product')->load($_item['product_id']); 
$cats = $product->getCategoryIds(); 

foreach ($cats as $category_id) { 
$_cat = Mage::getModel('catalog/category')->load($category_id); 
    if (in_array($category_id, $elements)) { 
      echo $_cat->getName(); 
    } 
} 
2

你可以得到Magento的类别名称或类别按产品ID分类的特定产品的ID。你下面的代码:

$_proId = $this->getProduct()->getId(); 
    $product = Mage::getModel('catalog/product')->load($_proId); 
    $cats = $product->getCategoryIds(); 

    foreach ($cats as $category_id) { 
     $_cat = Mage::getModel('catalog/category')->load($category_id) ; 
     $currentCategory = $_cat->getId(); 
    }