La categoría principal muestra productos en subcategorías, aunque el producto no se asignó a la categoría principal

9

Supongamos que tengo una categoría, Ropa y esta categoría tiene una subcategoría, camisetas.

Ahora agrego un producto a la categoría de camisetas (marcando la casilla en la pantalla de agregar producto), pero no verifico la categoría de Ropa. Entonces, supuse que esto significaba que el producto solo aparecería en la categoría de camisetas en la parte delantera, y no en la categoría principal Ropa.

Sin embargo, el producto aparece en las categorías de ropa y camisetas.

Esto es un problema porque la categoría de la camiseta es "Incluir en el menú de navegación"> Sin categoría, es decir, se supone que está oculta. Todos los productos de la categoría tienen visibilidad de catálogo, por lo que no aparecen en los resultados de búsqueda.

He investigado esto bastante profundamente hasta ahora y he descubierto que el problema está en la indexación del catálogo de Magento. Al ejecutar el indexador de Productos de categoría desde Sistema> Gestión de índice, se vuelve a generar el índice en ejecución Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll().

Esta función SELECCIONA varios datos de varias tablas relacionadas con categorías y los canaliza a la tabla catalog_category_product_index, que es la tabla utilizada para generar la colección de productos para las páginas de categoría.

¿Alguien tiene alguna sugerencia sobre cómo ocultar / evitar que las subcategorías de productos aparezcan en sus categorías principales?

Estoy usando Magento 1.4.1.0. La categoría Ropa se establece en Ancla y la categoría Camisetas no. Usar categoría plana se establece en sí.

ProcessEight
fuente

Respuestas:

13

Esto es realmente una característica. Si desea evitar esto, debe establecer el indicador 'Es el ancla' en 'No' en la categoría principal. En tu ejemplo 'Ropa'. De esta manera, en la categoría principal solo verá productos directamente asignados.
Después de hacer los cambios, debe volver a indexar todo.

Marius
fuente
2
Ahh, pero necesito mantener "Is Anchor" en la categoría principal, porque usa la navegación en capas.
ProcesoOcho
Erm ... entonces creo que tienes un problema. No tengo ideas sobre esto.
Marius
No necesito la navegación por capas en la categoría de camisetas, así que creo que moveré la categoría de camisetas fuera de la ropa, por lo que solo mostrará productos directamente relacionados como usted dice
ProcessEight
@ sfrost2004 Entonces, ¿las camisetas no son ropa? Supongo que los he estado usando mal ...
Benubird
2
hmmm Estaba buscando @ stackoverflow.com/questions/22990622/… donde vi $ this -> _ productLimitationFilters ['category_is_anchor'] = 1; Y tal vez algo enlace esto $ this-> getLoadedProductCollection () -> addAttributeToFilter ('is_parent', array ('eq' => 1)) - Si es un padre
snh_nl