วิธีการนำตัวกรองหลายหมวดหมู่มาใช้ในการนำทางแบบเลเยอร์ Magento 2


19

ฉันใช้ตัวกรองหลายหมวดหมู่สำหรับการนำทางแบบเลเยอร์ ฉันได้รับผลลัพธ์ตามความต้องการของฉัน แต่ขนาดของคอลเลกชันที่กำลังจะมานั้นยังคงเหมือนเดิมกับขนาดคอลเลกชันของผู้ปกครอง

มีวิธีอื่นในการใช้ฟังก์ชันนี้หรือไม่

ฉันได้แก้ไขรหัสต่อไปนี้:

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

แทนที่addCategoryFilter($category)ด้วยaddCategoriesFilter('eq' => $categoriesArray);

แต่เนื่องจากจำนวนการนำทางแบบเลเยอร์นั้นมาจากที่อื่นไม่ใช่จากการรวบรวมผลิตภัณฑ์

อยากรู้จากที่ไหน และฉันจะใช้ตัวกรองหลายหมวดหมู่ได้อย่างไร


1
คุณช่วยแบ่งปันรหัสได้ไหม ไฟล์ใดที่คุณกรองคอลเลกชัน?
Codrain Technolabs Pvt Ltd

1
เพิ่มรหัสโปรดดู
Pankaj Bhope

1
คุณช่วยตั้งชื่อไฟล์หรือพา ธ ให้ฉันได้ไหม
Codrain Technolabs Pvt Ltd

1
ชื่อไฟล์: Category.php เส้นทาง: root_dir / ผู้ขาย / magento / module-catalog-search / โมเดล / เลเยอร์ / ตัวกรอง / Category.php
Pankaj Bhope

คำตอบ:


1

โปรดดูที่การวิจัยที่ฉันได้ทำเกี่ยวกับเรื่องนี้และทางออกสุดท้าย (คำตอบของคำถาม) ที่นี่: Magento 2.1.6 การนับจำนวนหน้าตารางผลิตภัณฑ์และปัญหาการบันทึกจำนวนเมื่อโปรแกรมเพิ่มตัวกรองโดยใช้วิธีการที่แตกต่างกัน


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.