So erhalten Sie eine Liste aller Unterkategorien, für die "In Navigationsmenü einschließen" als Nr

8

Ich habe versucht, alle Unterkategorien der aktuellen Kategorie auf der Listenseite abzurufen, die nicht im Navigationsmenü enthalten sind, aber aktiv sind.

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

Auch diese Kategoriesammlung gibt nur Unterkategorien zurück, die im Navigationsmenü enthalten sind .

Wie erhalte ich eine Kategorie, die nicht im Navigationsmenü enthalten ist?

DRAJI
quelle

Antworten:

11

Versuche dies:

$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
quelle
Es gibt auch nicht die Kategorie zurück, die nicht im Menü @marius
DRAJI
1
@ DRAJI. hmmm ... es sollte. Stellen Sie sicher, dass Ihre Indizes auf dem neuesten Stand sind.
Marius
Entschuldigung, auch "$ collection = Mage :: getResourceModel ('catalog / category_collection')" gibt diese Kategorien nicht zurück
DRAJI
@ DRAJI. Dann könnte etwas mit Ihrem Kategoriebaum nicht stimmen. Beschädigte Daten möglicherweise. Einige Werte für pathFeld sind möglicherweise falsch. Oder Eltern-IDs können falsch sein.
Marius