Como implementar o filtro de várias categorias na navegação em camadas do Magento 2


19

Estou implementando vários filtros de categoria para navegação em camadas. Estou obtendo o resultado de acordo com meus requisitos, mas o tamanho da coleção está errado permanece o mesmo que o tamanho da coleção de categorias pai.

Existe alguma outra maneira de implementar essa funcionalidade.

Eu modifiquei o seguinte código:

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

substituiu o addCategoryFilter($category)poraddCategoriesFilter('eq' => $categoriesArray);

Mas como a contagem de navegação em camadas vem de outro lugar e não da coleção de produtos.

gostaria de saber de onde. E como eu poderia aplicar vários filtros de categoria lá?


1
Você poderia compartilhar o código? em qual arquivo você filtrou a coleção?
Codrain Technolabs Pvt Ltd

1
acrescentou o código por favor, dê uma olhada
Pankaj Bhope

1
Você também pode me dar o nome ou o caminho do arquivo?
Codrain Technolabs Pvt Ltd

1
O nome do arquivo: category.php Path: ROOT_DIR / fornecedor / magento / module-catálogo de pesquisa / Modelo / Layer / Filtro / category.php
Pankaj Bhope

Respostas:



1

Para implementar o filtro de várias categorias no magento 2insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.