Supposons que j'ai une catégorie, Vêtements et cette catégorie a une sous-catégorie, T-shirts.
Maintenant, j'ajoute un produit à la catégorie T-shirts (en cochant la case dans l'écran d'ajout de produit), mais je ne coche pas la catégorie Vêtements. J'ai donc supposé que cela signifiait que le produit n'apparaîtrait que dans la catégorie T-shirts à l'avant, et non dans la catégorie parent Vêtements.
Cependant, le produit apparaît dans les catégories Vêtements et T-shirts.
C'est un problème car la catégorie T-shirt est un "Inclure dans le menu de navigation"> Aucune catégorie, c'est-à-dire qu'il est censé être masqué. Tous les produits de la catégorie ont une visibilité du catalogue, ils n'apparaissent donc pas dans les résultats de recherche.
J'ai étudié cela assez profondément jusqu'à présent et j'ai trouvé que le problème venait de l'indexation du catalogue Magento. L'exécution de l'indexeur des produits de catégorie à partir de Système> Gestion des index reconstruit l'index en cours d'exécution Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll()
.
Cette fonction sélectionne diverses données de plusieurs tables liées aux catégories et les dirige vers la table catalog_category_product_index, qui est la table utilisée pour générer la collection de produits pour les pages de catégorie.
Quelqu'un a-t-il des suggestions sur la façon de masquer / empêcher les produits des sous-catégories apparaissant dans leurs catégories parentes?
J'utilise Magento 1.4.1.0. La catégorie Vêtements est définie sur Ancre et la catégorie T-shirts ne l'est pas. Utiliser la catégorie plate est défini sur oui.