cómo restablecer el filtro al cargar una colección en el módulo personalizado de magento

9

He creado un módulo personalizado en el back-end para mostrar los resultados de búsqueda de 'imei' en la cuadrícula de administración.

1) a continuación está la página de inicio para buscar imei. ingrese la descripción de la imagen aquí

2) página de resultados de búsqueda.

ingrese la descripción de la imagen aquí

3) después de buscar, ingreso el valor, por ejemplo, 23 en la búsqueda de campo de texto imei. ingrese la descripción de la imagen aquí

4) ahora vuelvo a la página de inicio y busco otro valor.

ingrese la descripción de la imagen aquí

5) pero ahora no encuentro registros, pero hay registros para esa búsqueda en particular.

ingrese la descripción de la imagen aquí

Como esto sucede, tengo que restablecer el filtro al cargar la colección.

surya
fuente

Respuestas:

3

Edite el archivo grid.php en su módulo personalizado,

Por defecto,

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 el código a,

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
fuente
0

Debe pasar su valor de filtro base64_encoded al controlador correspondiente. El valor del filtro se procesa por Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

El valor se decodifica primero y luego se establece en la sesión:

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

Comenzaría a crear instancias del objeto grid.js. Echa un vistazo a los métodos doFilter()y resetFilter().

netzkollektiv
fuente