Батьківська категорія відображає продукти в підкатегоріях, навіть якщо продукт не був призначений для батьківської категорії


9

Припустимо, у мене є категорія, Одяг і ця категорія мають підкатегорію, футболки.

Тепер я додаю товар до категорії футболок (встановивши прапорець на екрані додавання товару), але не перевіряю категорію Одяг. Отже, я припускав, що це означає, що товар з’явиться лише в категорії футболок на передній частині, а не в батьківській категорії Одяг.

Однак товар фігурує в категорії Одяг та футболка.

Це проблема, оскільки категорія футболки - це "Включити в меню навігації"> Немає категорії, тобто вона повинна бути прихованою. Всі товари категорії мають видимість каталогу, тому вони не відображаються в результатах пошуку.

Я досить глибоко досліджував це до цих пір і виявив, що проблема полягає в індексації каталогу Magento. Запуск індексатора категорій продуктів із системи> Управління індексами відновлює індекс, працює Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll().

Ця функція SELECT виділяє різні дані з декількох таблиць, пов’язаних з категоріями, і передає їх у таблицю catalog_category_product_index, яка є таблицею, яка використовується для створення колекції продуктів для сторінок категорій.

Хтось має якісь пропозиції щодо того, як приховати / запобігти появі продуктів із підкатегорій у своїх батьківських категоріях?

Я використовую Magento 1.4.1.0. Категорія Одяг встановлена ​​на Якір, а категорія футболок - ні. Для категорії "Плоский" встановлено значення "Так".

Відповіді:


13

Це насправді особливість. Якщо ви хочете цього уникнути, слід встановити прапорець "Є якір" на "Ні" на батьківській категорії. У вашому прикладі "Одяг". Таким чином, у батьківській категорії ви побачите лише ті продукти, які їй безпосередньо призначені.
Після внесення змін слід все індексувати.


2
Ах, але мені потрібно зберегти "Є якір" у батьківській категорії, тому що вона використовує багатошарову навігацію.
ProcessEight

Ем .... тоді я думаю, у вас є проблеми. Мені немає ідеї щодо цього.
Маріус

Мені не потрібна багатошарова навігація в категорії футболок, тому я думаю, що я перенесу категорію футболок з одягу, тому вона відображатиме лише безпосередньо пов'язані продукти, як ви кажете
ProcessEight

@ sfrost2004 Отже, футболки - це не одяг? Я думаю, я неправильно їх використовував ...
Benubird,

2
hmmm, я шукав @ stackoverflow.com/questions/22990622/…, де я бачив $ this -> _ productLimitationFilters ['category_is_anchor'] = 1; І, можливо, щось пов'язує це $ this-> getLoadedProductCollection () -> addAttributeToFilter ('is_parent', array ('eq' => 1)) - Якщо це батько
snh_nl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.