2014-05-19 2 views
0

에서 특정 카테고리 이름을 가져 이건 내 코드입니다 : 나는 단지 하나의 특정 범주를 표시 할젠토 제품 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(); 
    } 
} 

(고양이) 이름 :

만약 제품 (항상 하나에 불과 표시되는)는 특정 고양이 (특정 고양이 ID는 3,4,5,6,7,8)에 있으며 고양이 이름을 표시해야합니다 (단,이 ID 중 하나의 고양이 이름 만 표시).

모든 제품은이 고양이 중 하나에 불과하지만 더 많은 고양이 (어린 고양이 및 기본 고양이)가 있습니다.

예 : 고양이 4의 제품이 있습니다. 기본 코드, 고양이 4 및 하위 고양이 등 모든 고양이 이름이 표시되지만 고양이 4의 이름 만 입력하면됩니다. if if expression is not work. 이 문제를 해결할 사람이 있습니까?

답변

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

당신은 마 젠토 카테고리 이름 또는 카테고리를 얻을 수 있습니다 제품 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(); 
    }