Kategoria nadrzędna pokazuje produkty w podkategoriach, mimo że produkt nie został przypisany do kategorii nadrzędnej

9

Załóżmy, że mam kategorię, Odzież, a ta kategoria ma podkategorię, Koszulki.

Teraz dodaję produkt do kategorii Koszulki (zaznaczając pole na ekranie dodawania produktu), ale nie zaznaczam kategorii Odzież. Tak więc założyłem, że oznacza to, że produkt pojawi się tylko w kategorii T-shirtów z przodu, a nie w kategorii nadrzędnej Odzież.

Produkt pojawia się jednak w kategoriach Odzież i T-shirt.

Jest to problem, ponieważ kategoria T-shirt to „Uwzględnij w menu nawigacyjnym”> Brak kategorii, tzn. Ma być ukryta. Wszystkie produkty w kategorii mają widoczność katalogu, więc nie pojawiają się w wynikach wyszukiwania.

Jak dotąd dogłębnie to zbadałem i odkryłem, że problem polega na indeksowaniu katalogu Magento. Uruchomienie indeksu produktów kategorii z System> Zarządzanie indeksami odbudowuje indeks, działając Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll().

Ta funkcja WYBIERA różne dane z kilku tabel związanych z kategorią i przesyła je do tabeli index_category_product_index, która jest tabelą używaną do generowania kolekcji produktów dla stron kategorii.

Czy ktoś ma jakieś sugestie dotyczące ukrywania / zapobiegania pojawianiu się produktów z podkategorii w ich kategoriach nadrzędnych?

Używam Magento 1.4.1.0. Kategoria Odzież jest ustawiona na Kotwica, a kategoria Koszulki nie. Kategoria użycia mieszkania jest ustawiona na tak.

ProcessEight
źródło

Odpowiedzi:

13

To jest właściwie funkcja. Jeśli chcesz tego uniknąć, ustaw flagę „Is anchor” na „No” w kategorii nadrzędnej. W twoim przykładzie „Odzież”. W ten sposób w kategorii nadrzędnej zobaczysz tylko produkty bezpośrednio do niej przypisane.
Po wprowadzeniu zmian wszystko należy ponownie indeksować.

Marius
źródło
2
Ach, ale muszę zachować „Is Anchor” w kategorii nadrzędnej, ponieważ używa ona nawigacji warstwowej.
ProcessEight
Eee… więc myślę, że masz problem. Nie mam na to pomysłów.
Marius
Nie potrzebuję nawigacji warstwowej w kategorii T-shirtów, więc myślę, że
usunę
@ sfrost2004 Więc koszulki to nie ubrania? Chyba źle ich wykorzystałem ...
Benubird,
2
hmmm szukałem @ stackoverflow.com/questions/22990622/... gdzie widziałem $ this -> _ productLimitationFilters ['category_is_anchor'] = 1; I może coś tlink to $ this-> getLoadedProductCollection () -> addAttributeToFilter ('is_parent', array ('eq' => 1)) - Jeśli jest rodzicem
snh_nl