Припустимо, у мене є категорія, Одяг і ця категорія мають підкатегорію, футболки.
Тепер я додаю товар до категорії футболок (встановивши прапорець на екрані додавання товару), але не перевіряю категорію Одяг. Отже, я припускав, що це означає, що товар з’явиться лише в категорії футболок на передній частині, а не в батьківській категорії Одяг.
Однак товар фігурує в категорії Одяг та футболка.
Це проблема, оскільки категорія футболки - це "Включити в меню навігації"> Немає категорії, тобто вона повинна бути прихованою. Всі товари категорії мають видимість каталогу, тому вони не відображаються в результатах пошуку.
Я досить глибоко досліджував це до цих пір і виявив, що проблема полягає в індексації каталогу Magento. Запуск індексатора категорій продуктів із системи> Управління індексами відновлює індекс, працює Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll()
.
Ця функція SELECT виділяє різні дані з декількох таблиць, пов’язаних з категоріями, і передає їх у таблицю catalog_category_product_index, яка є таблицею, яка використовується для створення колекції продуктів для сторінок категорій.
Хтось має якісь пропозиції щодо того, як приховати / запобігти появі продуктів із підкатегорій у своїх батьківських категоріях?
Я використовую Magento 1.4.1.0. Категорія Одяг встановлена на Якір, а категорія футболок - ні. Для категорії "Плоский" встановлено значення "Так".