So implementieren Sie Filter für mehrere Kategorien in der Magento 2-Ebenen-Navigation

19

Ich implementiere mehrere Kategoriefilter für die geschichtete Navigation. Ich erhalte das gewünschte Ergebnis, aber die Größe der Sammlung stimmt nicht mit der Größe der Sammlung der übergeordneten Kategorien überein.

Gibt es eine andere Möglichkeit, diese Funktionalität zu implementieren.

Ich habe den folgenden Code geändert:

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;
    }

ersetzte die addCategoryFilter($category)mitaddCategoriesFilter('eq' => $categoriesArray);

Aber da die geschichtete Navigationsanzahl von einem anderen Ort stammt und nicht von der Produktkollektion.

würde gerne wissen woher. Und wie könnte ich dort mehrere Kategoriefilter anwenden?

Pankaj Bhope
quelle
1
Könnten Sie bitte den Code teilen? Nach welcher Datei haben Sie die Sammlung gefiltert?
Codrain Technolabs Pvt Ltd
1
fügte hinzu, den Code bitte werfen Sie einen Blick
Pankaj Bhope
1
Könnten Sie mir auch den Dateinamen oder den Pfad geben?
Codrain Technolabs Pvt Ltd
1
Dateiname: Category.php Pfad: root_dir / vendor / magento / module-catalog-search / Model / Layer / Filter / Category.php
Pankaj Bhope

Antworten:

1

So implementieren Sie Filter für mehrere Kategorien in Magento 2Bildbeschreibung hier eingeben

pragnya123
quelle