2010-08-19 7 views

답변

5

이 시도 보내기

$currentCatIds = $_product->getCategoryIds(); 

또한

$categoryCollection = Mage::getResourceModel('catalog/category_collection') 
    ->addAttributeToSelect('name') 
    ->addAttributeToSelect('url') 
    ->addAttributeToFilter('entity_id', $currentCatIds) 
    ->addIsActiveFilter(); 

건배, JD를

+0

1.4에서 작동합니까? category_ids 속성이 더 이상 사용되지 않는다고 들었습니다 ... – silvo

+0

첫 번째 방법을 사용했고 Magento 1.4.0.1에서 작동했습니다. – a1anm

+0

@silvo'category_ids'는 여전히'attribute_id' = 91 인'eav_attribute' 테이블에 나타납니다. 지원 중단에 대한 정보는 어디에서 들었습니까? 나는 어떤 deprecations에 대한 공식적인 발표를 보지 못했지만, 그것은 재미있을 것입니다 ... –

1

당신은 선택된 제품과 관련된 모든 범주를 표시하려면 다음 코드를 사용할 수 있습니다 제품 세부 정보 페이지.

<?php $categories = $_product->getCategoryIds(); ?> 
      <?php foreach($categories as $k => $_category_id): ?> 
      <?php $_category = Mage::getModel('catalog/category')->load($_category_id) ?> 
      <a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?></a> 
      <?php endforeach; ?> 
+0

위대한 작품! 그렇지만 단 한가지, 출력에 특정 카테고리 ID (또는 여러 카테고리 ID)를 나열하지 않으려했다면이 코드로 어떻게 달성 할 수 있습니까? –

0

코드는 상점 ID를 기반으로 제품 카테고리의 이름을 얻을 것이다. 멀티 스토어 및 멀티 웹 사이트 개념에 대해 전체를 사용할 수도 있습니다.

$product = Mage::getModel('catalog/product')->load($product_id); 
    $cats = $product->getCategoryIds(); 
    foreach ($cats as $category_id) { 
    $_cat = Mage::getModel('catalog/category')->setStoreId(Mage::app()- >getStore()->getId())->load($category_id); 
    echo $_cat->getName();    
    }