1. Die Eltern-Kategorie aufrufen
$_category = Mage::getModel('catalog/category')->load( 1234 );
$_parentcategory = $_category->getParentCategory();
Nützlich um z.B. den Farbcode der Parent-Kategorie zu übernehmen.
2. Das Level der Kategorie ermitteln
Das Level einer Kategorie gibt an wie tief die Kategorie verschachtelt ist oder anders wie viele Oberkategorien sie einschließlich sich selbst hat.
- Hauptkategorie/ Root-Kategorie (Level = 1)
- Bekleidung ( Level = 2 )
- Socken ( Level = 3)
- Hosen ( Level = 3)
- Bekleidung ( Level = 2 )
$_level = $_category->getLevel();
var_dump($_level);
Nützlich um z.B. die dritte Ebene anders darzustellen.
3. Für alle Kategorien Level 1 isAnchor aktivieren
Wenn die Layered-Navigation benutzt werden soll muss bei den Kategorien im jeweiligen Level aktiviert werden das sie als Anker dienen. Das bedeutet soviel wie das, unabhängig vom Filter, die Kategorie aktiv bleibt. Bei vielen vielen Unterkategorien kostet das manuelle Bearbeiten viel zu viel Zeit deswegen geht es mit folgendem Code-Schnipsel deutlich schneller:// Alle Kategorien abrufen + durchlaufen
$categories = Mage::getModel("catalog/category")->getCollection();
foreach( $categories AS $cat ) {
$cat = Mage::getModel("catalog/category")->load( $cat->getId() );
if ( $cat->getLevel() == 1 ) {
// Nur für Level 1
$cat->setData('is_anchor', 1);
// Nur verändertes Attribute speichern (geht deutlich schneller)
$cat->getResource()->saveAttribute($cat, 'is_anchor' );
}
}