계층 탐색을 위해 여러 카테고리 필터를 구현하고 있습니다. 요구 사항에 따라 결과가 표시되지만 컬렉션 크기가 잘못되어 상위 카테고리 컬렉션 크기와 동일하게 유지됩니다.
이 기능을 구현하는 다른 방법이 있습니까?
다음 코드를 수정했습니다.
public function apply(\Magento\Framework\App\RequestInterface $request)
{
$categoryId = $request->getParam($this->_requestVar) ?: $request->getParam('id');
if (empty($categoryId)) {
return $this;
}
$this->dataProvider->setCategoryId($categoryId);
$category = $this->dataProvider->getCategory();
**$this->getLayer()->getProductCollection()->addCategoryFilter($category);**
if ($request->getParam('id') != $category->getId() && $this->dataProvider->isValid()) {
$this->getLayer()->getState()->addFilter($this->_createItem($category->getName(), $categoryId));
}
return $this;
}
교체 addCategoryFilter($category)
와addCategoriesFilter('eq' => $categoriesArray);
그러나 계층화 된 탐색 수는 제품 컬렉션이 아닌 다른 곳에서 나옵니다.
어디서부터 알고 싶습니다. 어떻게 여러 카테고리 필터를 적용 할 수 있습니까?
1
코드를 공유해 주시겠습니까? 어떤 파일에서 컬렉션을 필터링 했습니까?
—
Codrain Technolabs Pvt Ltd
코드를 추가하십시오
—
Pankaj Bhope
파일 이름이나 경로를 알려주시겠습니까?
—
Codrain Technolabs Pvt Ltd
파일 이름 : Category.php 경로 : root_dir / vendor / magento / module-catalog-search / Model / Layer / Filter / Category.php
—
Pankaj Bhope