Saya menerapkan beberapa filter kategori untuk navigasi berlapis. Saya mendapatkan hasil sesuai kebutuhan saya tetapi ukuran koleksi yang salah tetap sama dengan ukuran koleksi kategori induk.
Apakah ada cara lain untuk mengimplementasikan fungsi ini.
Saya telah mengubah kode berikut:
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;
}
diganti addCategoryFilter($category)
denganaddCategoriesFilter('eq' => $categoriesArray);
Tetapi karena jumlah navigasi yang berlapis datang dari tempat lain dan bukan dari koleksi produk.
ingin tahu dari mana. Dan bagaimana saya bisa menerapkan beberapa filter kategori di sana?