cara mengatur ulang filter saat memuat koleksi di modul khusus magento

9

Saya telah membuat modul khusus di backend untuk menampilkan hasil pencarian 'imei' di admin grid.

1) di bawah ini adalah halaman rumah untuk mencari imei. masukkan deskripsi gambar di sini

2) halaman hasil pencarian.

masukkan deskripsi gambar di sini

3) setelah mencari saya masukkan nilai katakanlah misalnya 23 dalam pencarian bidang teks imei. masukkan deskripsi gambar di sini

4) sekarang saya akan kembali ke halaman rumah dan mencari nilai lain.

masukkan deskripsi gambar di sini

5) tetapi sekarang saya tidak mendapatkan catatan ditemukan, tetapi ada catatan untuk pencarian tertentu.

masukkan deskripsi gambar di sini

karena ini terjadi, saya harus mengatur ulang filter pada memuat koleksi.

surya
sumber

Jawaban:

3

Edit file grid.php dalam modul khusus Anda,

Secara default,

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

Ubah kode menjadi,

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);
}
saravanavelu
sumber
0

Anda perlu meneruskan nilai filter Anda base64_encoded ke controller yang sesuai. Nilai filter diproses oleh Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

Nilai didekodekan terlebih dahulu dan kemudian diatur dalam sesi:

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

Saya akan mulai instantiating objek grid.js. Lihatlah metode doFilter()dan resetFilter().

netzkollektiv
sumber