come ripristinare il filtro al caricamento di una raccolta nel modulo personalizzato magento


9

Ho creato un modulo personalizzato nel backend per visualizzare i risultati della ricerca di "imei" nella griglia di amministrazione.

1) di seguito è la home page per la ricerca di imei. inserisci qui la descrizione dell'immagine

2) pagina dei risultati di ricerca.

inserisci qui la descrizione dell'immagine

3) dopo la ricerca inserisco il valore dire ad esempio 23 nella ricerca del campo di testo imei. inserisci qui la descrizione dell'immagine

4) ora torno alla home page e cerco un altro valore.

inserisci qui la descrizione dell'immagine

5) ma ora non trovo alcun record trovato, ma ci sono record per quella particolare ricerca.

inserisci qui la descrizione dell'immagine

poiché ciò accade, devo ripristinare il filtro al caricamento della raccolta.

Risposte:


3

Modifica il file grid.php nel tuo modulo personalizzato,

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

Cambia il codice in,

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

È necessario passare il valore del filtro base64_encoded al controller corrispondente. Il valore del filtro viene elaborato da Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

Il valore viene prima decodificato e quindi impostato nella sessione:

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

Vorrei iniziare a creare un'istanza dell'oggetto grid.js. Dai un'occhiata ai metodi doFilter()e resetFilter().

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.