A categoria pai está mostrando produtos em subcategorias, mesmo que o produto não tenha sido atribuído à categoria pai

9

Vamos supor que eu tenha uma categoria, Roupas e essa categoria tenha uma subcategoria, camisetas.

Agora, adiciono um produto à categoria Camisetas (marcando a caixa na tela Adicionar produto), mas não a categoria Vestuário. Então, presumi que isso significava que o produto apareceria apenas na categoria Camisetas no front-end, e não na categoria pai Vestuário.

No entanto, o produto aparece nas categorias Vestuário e camiseta.

Isso é um problema porque a categoria Camiseta é um "Incluir no menu de navegação"> Nenhuma categoria, ou seja, deve estar oculta. Todos os produtos da categoria têm visibilidade do catálogo e, portanto, não aparecem nos resultados da pesquisa.

Eu investiguei isso profundamente até agora e descobri que o problema está na indexação do catálogo Magento. A execução do indexador de Produtos de Categoria em Sistema> Gerenciamento de Índice reconstrói o índice em execução Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll().

Essa função SELECT seleciona vários dados de várias tabelas relacionadas à categoria e os canaliza para a tabela catalog_category_product_index, que é a tabela usada para gerar a coleção de produtos para as páginas da categoria.

Alguém tem alguma sugestão sobre como ocultar / impedir que os produtos das subcategorias apareçam nas categorias principais?

Estou usando o Magento 1.4.1.0. A categoria Vestuário está definida como Âncora e a categoria Camisetas não. Usar categoria plana está definido como sim.

ProcessEight
fonte

Respostas:

13

Este é realmente um recurso. Se você quiser evitar isso, defina o sinalizador 'É âncora' como 'Não' na categoria pai. No seu exemplo 'Vestuário'. Dessa forma, na categoria pai, você verá apenas produtos diretamente atribuídos a ela.
Depois de fazer as alterações, você deve indexar tudo novamente.

Marius
fonte
2
Ah, mas preciso manter "Is Anchor" na categoria pai, porque ele usa a navegação em camadas.
ProcessEight
Erm .... então eu acho que você tem um problema. Estou sem idéias sobre isso.
Marius
Eu não preciso de navegação em camadas na categoria T-shirts, então eu acho que vou mover a categoria T-shirt fora de roupa, por isso só vai mostrar produtos diretamente relacionados como você diz
ProcessEight
@ sfrost2004 Então, camisetas não são roupas? Eu acho que eu tenho usado eles estão errados ...
Benubird
2
hmmm eu estava procurando @ stackoverflow.com/questions/22990622/… onde vi $ this -> _ productLimitationFilters ['category_is_anchor'] = 1; E talvez algo TLINK este $ this-> getLoadedProductCollection () -> addAttributeToFilter ( 'is_parent', array ( 'eq' => 1)) - Se for um pai
snh_nl