Cómo implementar un filtro de categoría múltiple en la navegación por capas de Magento 2


19

Estoy implementando múltiples filtros de categoría para la navegación en capas. Obtengo el resultado según mis requisitos, pero el tamaño de la colección se está volviendo incorrecto sigue siendo el mismo que el tamaño de la colección de categorías principales.

¿Hay alguna otra forma de implementar esta funcionalidad?

He modificado el siguiente 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;
    }

reemplazado addCategoryFilter($category)conaddCategoriesFilter('eq' => $categoriesArray);

Pero como el recuento de navegación en capas proviene de otro lugar y no de la colección de productos.

Me gustaría saber de dónde. ¿Y cómo podría aplicar múltiples filtros de categoría allí?


1
¿Podría por favor compartir el código? ¿en qué archivo filtraste la colección?
Codrain Technolabs Pvt Ltd

1
agregó el código, por favor, eche un vistazo
Pankaj Bhope

1
¿Podría también darme el nombre del archivo o la ruta?
Codrain Technolabs Pvt Ltd

1
Nombre de archivo: Category.php Ruta: directorio_root / vendor / magento / module-catalog-search / Model / Layer / Filter / Category.php
Pankaj Bhope

Respuestas:



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.