Magento 2 katmanlı gezinmeye çoklu kategori filtresi nasıl uygulanır


19

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?


1
Kodu paylaşır mısınız? koleksiyonu hangi dosyada filtrelediniz?
Codrain Technolabs Pvt Ltd

1
kodu ekledi lütfen bir göz atın
Pankaj Bhope

1
Bana dosya adını veya yolunu da verebilir misiniz?
Codrain Technolabs Pvt Ltd

1
Dosya adı: Category.php Yol: root_dir / vendor / magento / module-catalog-search / Model / Katman / Filtre / Category.php
Pankaj Bhope

Yanıtlar:



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.