Cómo obtener una lista de todas las subcategorías que están configuradas como "Incluir en el menú de navegación" como no


8

He intentado obtener todas las subcategorías que no están incluidas en el menú de navegación pero que están activas, de la categoría actual en la página de lista.

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

Incluso esta colección de categorías también devuelve solo subcategorías que se incluyen en el menú de navegación .

¿Cómo obtener una categoría que no está incluida en el menú de navegación?

Respuestas:


11

Prueba esto:

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

Tampoco devuelve la categoría que no se muestra en el menú @marius
DRAJI

1
@DRAJI. hmmm ... debería. Asegúrese de que sus índices estén actualizados.
Marius

Lo sentimos, esto también "$ collection = Mage :: getResourceModel ('catalog / category_collection')" no devuelve esas categorías
DRAJI 05 de

@DRAJI. Entonces podría haber algo mal con su árbol de categorías. Datos corruptos tal vez. Algunos valores para el pathcampo pueden estar equivocados. O los identificadores de los padres pueden estar equivocados.
Marius
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.