Magento 2 계층 탐색에서 다중 범주 필터를 구현하는 방법


19

계층 탐색을 위해 여러 카테고리 필터를 구현하고 있습니다. 요구 사항에 따라 결과가 표시되지만 컬렉션 크기가 잘못되어 상위 카테고리 컬렉션 크기와 동일하게 유지됩니다.

이 기능을 구현하는 다른 방법이 있습니까?

다음 코드를 수정했습니다.

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

1
코드를 추가하십시오
Pankaj Bhope

1
파일 이름이나 경로를 알려주시겠습니까?
Codrain Technolabs Pvt Ltd

1
파일 이름 : Category.php 경로 : root_dir / vendor / magento / module-catalog-search / Model / Layer / Filter / Category.php
Pankaj Bhope

답변:



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.