제품이 상위 카테고리에 지정되지 않은 경우에도 상위 카테고리에 하위 카테고리의 제품이 표시됨


9

의류 카테고리가 있고이 카테고리에 하위 카테고리 인 티셔츠가 있다고 가정 해 봅시다.

이제 제품 추가 화면에서 확인란을 선택하여 티셔츠 카테고리에 제품을 추가하지만 의류 카테고리는 확인하지 않습니다. 따라서 이는 제품이 상위 카테고리 의류가 아닌 프론트 엔드의 티셔츠 카테고리에만 표시된다고 가정했습니다.

그러나이 제품은 의류 및 티셔츠 범주에 나타납니다.

티셔츠 카테고리가 "탐색 메뉴에 포함"> 카테고리 없음, 즉 숨겨져 있기 때문에 문제가됩니다. 카테고리의 모든 제품은 카탈로그를 볼 수 있으므로 검색 결과에 나타나지 않습니다.

나는 이것을 지금까지 깊이 조사했으며 Magento 카탈로그 색인에 문제가 있음을 발견했습니다. 시스템> 색인 관리 에서 카테고리 제품 색인 작성기를 실행하면 색인이 다시 빌드되어 실행 Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll()됩니다.

이 함수는 여러 카테고리 관련 테이블에서 다양한 데이터를 선택하고이를 카테고리 페이지에 대한 제품 콜렉션을 생성하는 데 사용되는 테이블 인 catalog_category_product_index 테이블로 파이프합니다.

상위 카테고리에 나타나는 하위 카테고리에서 제품을 숨기거나 방지하는 방법에 대한 제안이 있습니까?

Magento 1.4.1.0을 사용하고 있습니다. 의류 카테고리가 앵커로 설정되어 있고 티셔츠 카테고리가 없습니다. 플랫 카테고리 사용이 예로 설정되어 있습니다.

답변:


13

이것은 실제로 기능입니다. 이를 피하려면 상위 카테고리에서 'Is anchor'플래그를 'No'로 설정해야합니다. 귀하의 예에서 '의류'. 이렇게하면 상위 카테고리에서 직접 할당 된 제품 만 볼 수 있습니다.
변경 후 모든 것을 다시 색인화해야합니다.


2
Ahh, 그러나 계층 탐색을 사용하기 때문에 상위 범주에 "Is Anchor"를 유지해야합니다.
ProcessEight

음 .. 그럼 문제가 있다고 생각합니다. 나는 이것에 대한 아이디어가 없다.
Marius

T-shirts 카테고리에서 계층화 된 내비게이션이 필요하지 않으므로 T-shirts 카테고리를 의류 밖으로 이동 시키겠다고 생각하므로 직접 말하면 관련 제품 만 표시됩니다.
ProcessEight

@ sfrost2004 그래서, 티셔츠는 옷이 아니야? 내가 잘못 사용했다고 생각합니다 ...
Benubird

2
hmmm @ stackoverflow.com/questions/22990622/…를 보고있었습니다. 여기서 $ this-> _ productLimitationFilters [ 'category_is_anchor'] = 1; 그리고 아마도 뭔가 $ this-> getLoadedProductCollection ()-> addAttributeToFilter ( 'is_parent', array ( 'eq'=> 1))을
link
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.