Zurücksetzen des Filters beim Laden einer Sammlung in ein benutzerdefiniertes Magento-Modul


9

Ich habe im Backend ein benutzerdefiniertes Modul erstellt, um die Suchergebnisse von 'imei' im Admin-Raster anzuzeigen.

1) unten ist die Homepage, um imei zu suchen. Geben Sie hier die Bildbeschreibung ein

2) Suchergebnisseite.

Geben Sie hier die Bildbeschreibung ein

3) nach der suche gebe ich den wert sagen zum beispiel 23 in die imei textfeldsuche ein. Geben Sie hier die Bildbeschreibung ein

4) Jetzt gehe ich zurück zur Homepage und suche einen anderen Wert.

Geben Sie hier die Bildbeschreibung ein

5) aber jetzt bekomme ich keine Datensätze gefunden, aber es gibt Datensätze für diese bestimmte Suche.

Geben Sie hier die Bildbeschreibung ein

da dies passiert, muss ich den Filter beim Laden der Sammlung zurücksetzen.

Antworten:


3

Bearbeiten Sie die Datei grid.php in Ihrem benutzerdefinierten Modul.

Standardmäßig,

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

Ändern Sie den Code 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

Sie müssen Ihren Filterwert base64_encoded an den entsprechenden Controller übergeben. Der Filterwert wird von verarbeitet Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

Der Wert wird zuerst dekodiert und dann in der Sitzung festgelegt:

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

Ich würde anfangen, das Objekt grid.js zu instanziieren. Schauen Sie sich die Methoden an doFilter()und resetFilter().

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.