Come ottenere l'elenco di tutte le sottocategorie impostate come "Includi nel menu di navigazione" come n


8

Ho cercato di ottenere tutte le sottocategorie che non sono incluse nel menu di navigazione ma che sono attive, della categoria corrente nella pagina elenco.

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

Anche questa raccolta di categorie restituisce anche solo le sottocategorie incluse nel menu di navigazione .

Come ottenere una categoria che non è inclusa nel menu di navigazione?

Risposte:


11

Prova questo:

$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
}

Inoltre non restituisce la categoria che non viene visualizzata nel menu
@marius

1
@DRAJI. hmmm ... dovrebbe. Assicurati che i tuoi indici siano aggiornati.
Marius

Mi dispiace anche questo "$ collection = Mage :: getResourceModel ('catalog / category_collection')" non restituisce quelle categorie
DRAJI

@DRAJI. Quindi potrebbe esserci qualcosa di sbagliato nel tuo albero delle categorie. Dati corrotti forse. Alcuni valori per il pathcampo potrebbero essere errati. Oppure gli ID parent potrebbero essere errati.
Marius
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.