วิธีรีเซ็ตตัวกรองเมื่อโหลดคอลเล็กชันในโมดูลที่กำหนดเองคุณภาพเยี่ยม


9

ฉันได้สร้างโมดูลที่กำหนดเองในแบ็กเอนด์เพื่อแสดงผลการค้นหาของ 'imei' ในตารางผู้ดูแลระบบ

1) ด้านล่างเป็นหน้าแรกเพื่อค้นหา imei ป้อนคำอธิบายรูปภาพที่นี่

2) หน้าผลการค้นหา

ป้อนคำอธิบายรูปภาพที่นี่

3) หลังจากค้นหาฉันป้อนค่าพูดเช่น 23 ในการค้นหาฟิลด์ข้อความ imei ป้อนคำอธิบายรูปภาพที่นี่

4) ตอนนี้ฉันกลับไปที่หน้าแรกและค้นหาค่าอื่น

ป้อนคำอธิบายรูปภาพที่นี่

5) แต่ตอนนี้ฉันไม่พบระเบียน แต่มีระเบียนสำหรับการค้นหานั้นโดยเฉพาะ

ป้อนคำอธิบายรูปภาพที่นี่

ตั้งแต่นี้เกิดขึ้นฉันต้องรีเซ็ตตัวกรองในการโหลดคอลเลกชัน

คำตอบ:


3

แก้ไขไฟล์ grid.php ในโมดูลที่กำหนดเองของคุณ

โดยค่าเริ่มต้น,

public function __construct()
{
 parent::__construct();
 $this->setId('productsGrid');
 // This is the primary key of the database
 $this->setDefaultSort('id');
 $this->setDefaultDir('ASC');
 $this->setSaveParametersInSession(true);
 $this->setUseAjax(true);
}

เปลี่ยนรหัสเป็น

public function __construct()
{
    parent::__construct();
    $this->setId('productsGrid');
    // This is the primary key of the database
    $this->setDefaultSort('id');
    $this->setDefaultDir('ASC');
    $this->setUseAjax(true);
}

0

คุณต้องส่งค่าตัวกรองของคุณ base64_encoded ไปยังคอนโทรลเลอร์ที่เกี่ยวข้อง Mage_Adminhtml_Block_Widget_Grid::_prepareCollection()ค่าตัวกรองได้รับการประมวลผลโดย

ค่าจะถอดรหัสก่อนแล้วจึงตั้งค่าในเซสชัน:

    $data = $this->helper('adminhtml')->prepareFilterString($filter);
    $this->_setFilterValues($data);

ฉันจะเริ่มต้นอินสแตนซ์ของวัตถุ grid.js ลองดูที่วิธีการและdoFilter()resetFilter()

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