2014-05-19 125 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(); 
    }