Событие после сортировки

Нередко бывает когда после сортировки необходимо выполнить какую то задачу. Многие разработчики для этого обращаются к afterSave методу модели, но это неправильное решение, так как оно может нести большие нагрузки на производительность.

Простое решение сделать что то сразу после сортировки, переопределить метод onReorder в вашем контроллере. Внутри метода сначала вызовем стандартный метод поведения onReorder, а затем можем делать всё то что нам нужно.

Пример:

plugins\authorName\pluginName\controllers\Items.php
class Items extends Controller
{
    public $implement = [
        \Backend\Behaviors\FormController::class,
        \Backend\Behaviors\ListController::class,
        \Backend\Behaviors\ReorderController::class,
    ];

    public $formConfig = 'config_form.yaml';
    public $listConfig = 'config_list.yaml';
    public $reorderConfig = 'config_reorder.yaml';

    public function __construct()
    {
        // ...
    }

    public function onReorder()
    {
        $this->asExtension('ReorderController')->onReorder();

        // Здесь код который должен выполняться после сортировки
    }
}

 

Например, после сортировки мы хотим очистить кеш:

public function onReorder()
{
    $this->asExtension('ReorderController')->onReorder();

    Cache::forget('key_name');
}
Сортировка значений в таблице
Сортировка значений в таблице Как реализовать сортировку данных в HTML-таблице на сайте. Сделате таблицу сортируемой при клике по заголовку колонки просто добавив атрибут data-sort="sort_table" в тег table, а так же добавьте готовый скрипт.
Комментарии 0

*** чтобы писать комментарии.