Cara menerapkan beberapa kategori filter dalam navigasi berlapis Magento 2

19

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?

Pankaj Bhope
sumber
1
Bisakah Anda membagikan kodenya? pada file mana Anda memfilter koleksi?
Codrain Technolabs Pvt Ltd
1
menambahkan kode, silakan lihat
Pankaj Bhope
1
Bisakah Anda memberi saya nama file atau path?
Codrain Technolabs Pvt Ltd
1
Nama file: Category.php Path: root_dir / vendor / magento / module-catalog-search / Model / Layer / Filter / Category.php
Pankaj Bhope

Jawaban:

1

Untuk Menerapkan beberapa filter kategori dalam magento 2masukkan deskripsi gambar di sini

pragnya123
sumber