Sto implementando filtri di più categorie per la navigazione a più livelli. Sto ottenendo il risultato secondo il mio requisito, ma la dimensione della raccolta sta sbagliando rimane la stessa della dimensione della raccolta delle categorie principali.
Esiste un altro modo per implementare questa funzionalità.
Ho modificato il seguente codice:
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;
}
sostituito addCategoryFilter($category)
conaddCategoriesFilter('eq' => $categoriesArray);
Ma poiché il conteggio della navigazione a più livelli proviene da qualche altra parte e non dalla raccolta dei prodotti.
vorrei sapere da dove. E come posso applicare più filtri di categoria lì?