商品が属するカテゴリのトップカテゴリとサブカテゴリのリストを表示したいと思います。現在の製品(magento)に属する子カテゴリのみをロードする方法
正しいトップカテゴリを読み込む方法を考えましたが、サブキャット(子カテゴリ)をループすると、その製品が属するカテゴリではなく、そのトップカテゴリのすべてのサブキャットが読み込まれます。
例:
あなたはそれがサブカテゴリのトンをロードしますが、赤のストライプを持つものだけが製品が該当のサブカテゴリです見ることができますのように。
どのようにトップカテゴリに表示されていることを確認できますか?
マイコード:カテゴリが製品を持っているか、いない場合は、あなたのループチェックで
$currentCatIds = $_product->getCategoryIds();
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('name')
// ->addFieldToFilter('level',2)
->addAttributeToSelect('url')
->addAttributeToFilter('entity_id', $currentCatIds)
->addIsActiveFilter();
$out = "<ul>";
foreach($categoryCollection as $cat){
$out .= "<li>";
$out .= "<b><a href='".$cat->getUrl()."'>".$cat->getName()."</a></b>";
$out .="<ul class='sub'>";
$children = Mage::getModel('catalog/category')
// ->addAttributeToFilter('entity_id', $cat->getCategoryIds())
->load($cat->getId())
->getChildrenCategories();
foreach($children as $child){
$out .="<li><a href='".$child->getUrl()."'>".$child->getName()."</a></li>";
}
$out .="</ul>";
$out .= "</li>";
}
$out .= "</ul>";
echo $out;