Come implementare il filtro a più categorie nella navigazione a più livelli di Magento 2


19

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ì?


1
Potresti condividere il codice, per favore? su quale file hai filtrato la raccolta?
Codrain Technolabs Pvt Ltd,

1
aggiunto il codice per favore dai un'occhiata
Pankaj Bhope

1
Potresti darmi anche il nome o il percorso del file?
Codrain Technolabs Pvt Ltd,

1
Nome file: Category.php Percorso: root_dir / vendor / magento / module-catalog-search / Modello / Layer / Filter / Category.php
Pankaj Bhope

Risposte:



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.