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?


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:



Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.