2013-07-24 3 views
1

Magento shop에 제품이 있습니다. 범주 C에 속합니다.Magento에서 제품의 상위 카테고리 검색

내 아키텍처는 범주 A> 범주 B> 범주 C입니다.

아래 코드를 사용하면 제품 페이지에 카테고리 B가 표시됩니다. 아래 코드를 카테고리 A 대신 표시하려면 어떻게해야합니까?

if(Mage::registry('current_product')) { 

    $_category = Mage::registry('current_category'); 
    $parentCategoryId = $_category->getParentId(); 
    $parentCategory = Mage::getModel('catalog/category')->load($parentCategoryId); 

    $url = strtolower(str_replace(" ","-",$parentCategory->name)); 

    echo '<a href="/'.$url.'">'.$parentCategory->name.'</a>'; 

} 

URL에서 '/'의 숫자를 사용하여 코드를 변경하려고 생각했을 수도 있습니다.

많은 도움을 주셔서 감사합니다.

답변

2

카테고리 C의 상위 카테고리 카테고리 B하지 카테고리이다.

$category = Mage::registry('current_category'); 

while ($category->getLevel() != 2) { 
    $category = Mage::getModel('catalog/category')->load($category->getParentId()); 
} 

각 카테고리는 수준이 있습니다 : 레벨 1은 카탈로그 루트, 레벨 2는 리면입니다 특정 제품에 대한 최상위 상위 범주를 얻으려면, 당신은 카테고리 트리를 올라가 필요 레벨 2 이상은 하위 카테고리입니다.

+0

좋은 하나님! 나는 말 그대로 하루 종일 찢어 버리고 (이 작은 머리카락을 가지고있다.) 이것을 벗어나서 너는 그것을 1 번에 못을 박다. 선생님, 저에게 가상 맥주 나 다과를 드셔보십시오. 고맙습니다!!! – michaelmcgurk

관련 문제