Я впроваджую фільтри кількох категорій для багатошарової навігації. Я отримую результат відповідно до моєї вимоги, але розмір колекції стає неправильним, залишається таким же, як розмір колекції батьківських категорій.
Чи є інший спосіб реалізувати цю функціональність.
Я змінив наступний код:
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);
Але так як кількість шаруваної навігації відбувається десь з іншого місця, а не з колекції продуктів.
хотів би знати звідки. І як я можу застосувати там фільтри кількох категорій?