Wdrażam filtry wielu kategorii do nawigacji warstwowej. Otrzymuję wynik zgodnie z moim wymaganiem, ale rozmiar kolekcji idzie źle, pozostaje taki sam jak rozmiar kolekcji kategorii nadrzędnych.
Czy jest jakiś inny sposób na wdrożenie tej funkcjonalności?
Zmodyfikowałem następujący kod:
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;
}
otrzymuje addCategoryFilter($category)
zaddCategoriesFilter('eq' => $categoriesArray);
Ale ponieważ nawigacja warstwowa pochodzi z innego miejsca, a nie z kolekcji produktów.
chciałbym wiedzieć skąd. I jak mogę zastosować filtry wielu kategorii?
magento2
category
layered-navigation
multiselect-attribute
Pankaj Bhope
źródło
źródło
Odpowiedzi:
Proszę spojrzeć na przeprowadzone przeze mnie badania dotyczące tego i ostatecznego rozwiązania (moja odpowiedź na pytanie) tutaj: Magento 2.1.6 Liczba stron w siatce produktu i problem z liczbą rekordów podczas programowego dodawania filtra przy użyciu różnych metod
źródło
Aby wdrożyć filtr wielu kategorii w Magento 2
źródło