Cách đặt lại bộ lọc khi tải bộ sưu tập trong mô-đun tùy chỉnh magento


9

Tôi đã tạo một mô-đun tùy chỉnh trong phụ trợ để hiển thị kết quả tìm kiếm của 'imei' trong lưới quản trị.

1) bên dưới là trang chủ để tìm kiếm imei. nhập mô tả hình ảnh ở đây

2) trang kết quả tìm kiếm.

nhập mô tả hình ảnh ở đây

3) sau khi tìm kiếm, tôi nhập giá trị, ví dụ 23 trong tìm kiếm trường văn bản imei. nhập mô tả hình ảnh ở đây

4) bây giờ tôi trở lại trang chủ và tìm kiếm một giá trị khác.

nhập mô tả hình ảnh ở đây

5) nhưng bây giờ tôi không tìm thấy hồ sơ nào, nhưng có hồ sơ cho tìm kiếm cụ thể đó.

nhập mô tả hình ảnh ở đây

kể từ khi điều này xảy ra, tôi phải thiết lập lại bộ lọc khi tải bộ sưu tập.

Câu trả lời:


3

Chỉnh sửa tệp Grid.php trong mô-đun tùy chỉnh của bạn,

Theo mặc định,

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

Thay đổi mã thành,

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

Bạn cần chuyển giá trị bộ lọc base64_encoding của mình cho bộ điều khiển tương ứng. Giá trị bộ lọc được xử lý bởi Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

Giá trị được giải mã đầu tiên và sau đó được đặt trong phiên:

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

Tôi sẽ bắt đầu khởi tạo đối tượng Grid.js. Hãy xem các phương pháp doFilter()resetFilter().

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.