Je souhaite afficher la liste des catégories auxquelles appartient un produit, les catégories et sous-catégories principales. J'ai trouvé comment charger les topcategories correctes, mais quand je boucle les subcats (catégories d'enfants) il charge TOUS les subcats de cette topcategory, pas les catégories que le produit tombe dessous.Comment charger uniquement les catégories enfants qui appartiennent au produit actuel (magento)
Exemple:
Comme vous pouvez le voir il charge une tonne de sous-catégories, mais seulement ceux avec la bande rouge sont les sous-catégories que le produit tombe sous.
Comment puis-je m'assurer qu'il ne montre que ceux qui sont dans leurs catégories supérieures?
Mon code:
$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;