Постраничный вывод

Данные для постраничного вывода берутся из стандартных переменных page (текущая страница) и rows (рядов на странице). Если значения некорректны, либо явно установлено rows = -1, то постраничный вывод не применяется.

Вы можете изменить стандартный механизм постраничного вывода, перегрузив функцию buildLimitOffset. Она принимает кол-во рядов на странице и текущую страницу, возвращает строку вида:

LIMIT 30 OFFSET 90

Избегайте загружать более 500 рядов за раз, т.к. это создает ощутимую нагрузку на стороне клиента.

Сортировка

Сортировка проверяет стандартные входящие переменные sidx и sord. Если они определены, то напрямую подставляет их в конец запроса.

Если необходима более сложная сортировка (по нескольким колонкам, по функциям и т.п.) - перегрузите функцию buildOrderBy. Она принимает значения sidx и sord, и должна возвращать строку вида:

ORDER BY id ASC

Пример того, как можно изменить логику сортировки отдельных колонок:

protected function buildOrderBy($sidx, $sord)
{
    if(in_array($sidx, array('user_id', 'post_id')))
    {
        return "ORDER BY category ASC, $sidx $sord, id DESC";
    }
    else
    {
        return parent::buildOrderBy($sidx, $sord);
    }
}

На других языках