comment réinitialiser le filtre lors du chargement d'une collection dans le module personnalisé de magento


9

J'ai créé un module personnalisé dans le backend pour afficher les résultats de recherche de 'imei' dans la grille d'administration.

1) ci-dessous est la page d'accueil pour rechercher imei. entrez la description de l'image ici

2) page de résultats de recherche.

entrez la description de l'image ici

3) après la recherche j'entre la valeur disons par exemple 23 dans la recherche de champ de texte imei. entrez la description de l'image ici

4) maintenant je retourne à la page d'accueil et cherche une autre valeur.

entrez la description de l'image ici

5) mais maintenant je n'ai aucun enregistrement trouvé, mais il y a des enregistrements pour cette recherche particulière.

entrez la description de l'image ici

puisque cela se produit, je dois réinitialiser le filtre lors du chargement de la collection.

Réponses:


3

Modifiez le fichier grid.php dans votre module personnalisé,

Par défaut,

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

Changez le code en,

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

Vous devez transmettre votre valeur de filtre base64_encoded au contrôleur correspondant. La valeur du filtre est traitée par Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

La valeur est d'abord décodée puis définie dans la session:

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

Je commencerais à instancier l'objet grid.js. Jetez un œil aux méthodes doFilter()et resetFilter().

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.