あるカテゴリに「衣類」があり、このカテゴリにサブカテゴリの「Tシャツ」があるとします。
次に、Tシャツカテゴリに商品を追加します([商品を追加]画面のチェックボックスをオンにします)が、衣料品カテゴリはチェックしません。したがって、これはフロントエンドのTシャツカテゴリにのみ表示され、親カテゴリの衣類には表示されないことを意味すると想定しました。
ただし、この商品は衣類およびTシャツのカテゴリに表示されます。
Tシャツのカテゴリが[ナビゲーションメニューに含める]>カテゴリなし、つまり非表示になっているため、これは問題です。カテゴリ内のすべての製品はカタログを表示できるため、検索結果に表示されません。
私はこれまでかなり深く調査してきましたが、問題はMagentoカタログのインデックス付けにあることがわかりました。システム>インデックス管理からCategory Productsインデクサーを実行すると、インデックスが再構築され、が実行されMage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll()
ます。
この関数は、いくつかのカテゴリ関連のテーブルからさまざまなデータを選択し、それをカタログページの製品コレクションを生成するために使用されるテーブルであるcatalog_category_product_indexテーブルにパイプします。
親カテゴリに表示されるサブカテゴリから製品を非表示/防止する方法について何か提案はありますか?
Magento 1.4.1.0を使用しています。衣料品のカテゴリはアンカーに設定され、Tシャツのカテゴリは設定されていません。[フラットカテゴリを使用]は[はい]に設定されています。