Como obter a lista de todas as subcategorias definidas como "Incluir no menu de navegação" como não


8

Tentei obter todas as subcategorias que não estão incluídas no menu de navegação, mas estão ativas, da categoria atual na página da lista.

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

Mesmo essa coleção de categorias também retorna apenas subcategorias incluídas no menu de navegação .

Como obter uma categoria que não está incluída no menu de navegação?

Respostas:


11

Tente o seguinte:

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

Ele também não retorna a categoria que não é não mostrar em @marius Menu
draji

11
@DRAJI. hmmm ... deveria. Verifique se seus índices estão atualizados.
Marius

Desculpe, isso também "$ collection = Mage :: getResourceModel ('catalog / category_collection')" não retorna essas categorias
DRAJI

@DRAJI. Então pode haver algo errado com sua árvore de categorias. Dados corrompidos, talvez. Alguns valores para o pathcampo podem estar incorretos. Ou os IDs dos pais podem estar errados.
Marius
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.