Comment obtenir la liste de toutes les sous-catégories définies comme «Inclure dans le menu de navigation» comme non

8

J'ai essayé d'obtenir toutes les sous-catégories qui ne sont pas incluses dans le menu de navigation mais qui sont actives, de la catégorie actuelle dans la page de liste.

$children = Mage::getModel('catalog/category')->getCategories(10); //10 current category id

Même cette collection de catégories ne renvoie également que les sous-catégories incluses dans le menu de navigation .

Comment obtenir une catégorie qui n'est pas incluse dans le menu de navigation?

DRAJI
la source

Réponses:

11

Essaye ça:

$collection = Mage::getResourceModel('catalog/category_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('is_active', 1) //only active categories
    ->addAttributeToFilter('include_in_menu', 0) //only categories not included in menu
    ->addAttributeToFilter('parent_id', 10)//get only subcategories of the category with id 10
    ->addAttributeToSort('position')//sort by position
;

foreach ($collection as $category) {
    //do something with $category
}
Marius
la source
Il ne renvoie pas non plus la catégorie qui n'apparaît pas dans le menu @marius
DRAJI
1
@DRAJI. hmmm ... ça devrait. Assurez-vous que vos index sont à jour.
Marius
Désolé cela aussi "$ collection = Mage :: getResourceModel ('catalogue / category_collection')" ne retourne pas ces catégories
DRAJI
@DRAJI. Cela pourrait alors être quelque chose de mal avec votre arbre de catégories. Peut-être des données corrompues. Certaines valeurs du pathchamp peuvent être incorrectes. Ou les identifiants des parents peuvent être erronés.
Marius