як скинути фільтр при завантаженні колекції у користувальницький модуль magento


9

Я створив спеціальний модуль у бекенді, щоб відображати результати пошуку 'imei' в адміністраторній сітці.

1) нижче розташована домашня сторінка для пошуку імені. введіть тут опис зображення

2) сторінка результатів пошуку.

введіть тут опис зображення

3) після пошуку я введіть значення сказати, наприклад, 23 у пошук текстового поля ім'я. введіть тут опис зображення

4) тепер я повертаюся на головну сторінку і шукаю інше значення.

введіть тут опис зображення

5) але зараз я не знайду записів, але є записи саме для цього пошуку.

введіть тут опис зображення

оскільки це відбувається, мені доведеться скинути фільтр при завантаженні колекції.

Відповіді:


3

Редагуйте файл grid.php у власному модулі,

За замовчуванням,

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

Змініть код на

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

Вам потрібно передати значення фільтра base64_encoded у відповідний контролер. Значення фільтра обробляється користувачем Mage_Adminhtml_Block_Widget_Grid::_prepareCollection().

Значення спочатку декодується, а потім встановлюється в сеансі:

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

Я б почав інстанціювати об’єкт grid.js. Погляньте на методи doFilter()та resetFilter().

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.