Katmanlı gezinme için birden fazla kategori filtresi uyguluyorum. Gereksinimime göre sonuç alıyorum ama koleksiyon boyutu yanlış geliyor, ana kategoriler koleksiyon boyutu ile aynı kalıyor.
Bu işlevselliği uygulamanın başka bir yolu var mı?
Aşağıdaki kodu değiştirdim:
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;
}
değiştirilir addCategoryFilter($category)
ileaddCategoriesFilter('eq' => $categoriesArray);
Ancak katmanlı gezinme sayısı ürün koleksiyonundan değil başka bir yerden geliyor.
nereden bilmek istiyor. Ve orada birden çok kategori filtresini nasıl uygulayabilirim?