Ich implementiere mehrere Kategoriefilter für die geschichtete Navigation. Ich erhalte das gewünschte Ergebnis, aber die Größe der Sammlung stimmt nicht mit der Größe der Sammlung der übergeordneten Kategorien überein.
Gibt es eine andere Möglichkeit, diese Funktionalität zu implementieren.
Ich habe den folgenden Code geändert:
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;
}
ersetzte die addCategoryFilter($category)
mitaddCategoriesFilter('eq' => $categoriesArray);
Aber da die geschichtete Navigationsanzahl von einem anderen Ort stammt und nicht von der Produktkollektion.
würde gerne wissen woher. Und wie könnte ich dort mehrere Kategoriefilter anwenden?