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?

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
}

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.