diff --git a/content/ru/docs/setup/templates/functions.md b/content/ru/docs/setup/templates/functions.md index c4cc916..c1aba98 100755 --- a/content/ru/docs/setup/templates/functions.md +++ b/content/ru/docs/setup/templates/functions.md @@ -90,6 +90,8 @@ a=1&b=2&c=hello%20world | limit | Кол-во отдаваемых данных. По-умолчанию: 25. (0 - без лимитов) | offset | Индекс начала смещения списка. По-умолчанию: 0 | filter | Используется для поиска данных по определенным полям +| sort_field | Поле для сортировки (по-умолчанию ключевое поле) +| sort_direction | Порядок сортировки: `asc`, `desc` (по-умолчанию `desc`) #### Пример 1: @@ -127,7 +129,31 @@ Service id: 110, Name: Тариф X-MAX, Cost: 300 Service id: 5, Name: Web хостинг LITE, Cost: 0 ``` -### Сортировка результатов +### Сортировка + +Существует два типа сортировки: +- Сортировка на уровне запросов +- Сортировка на уровне шаблона + +> При использовании пагинации важно сортировать результаты на уровне запросов. + +#### Сортировка на уровне запросов + +Сортировка на уровне запросов осуществляется непосредственно в БД. + +#### Пример выдачи результатов отсортированных по возрастанию: +```go +{{ arr = ref(service.list_for_api('sort_direction','asc')) }} +``` + +#### Пример выдачи результатов отсортированных по возрастанию по полю `name`: +```go +{{ arr = ref(service.list_for_api('sort_direction','asc', 'sort_field','name')) }} +``` + +#### Сортировка в шаблонах + +Сортировка в шаблонах используется для сортировки полученных данных. Для сортировки используете функции: `sort` (для алфавитной сортировки), `nsort` (для числовой сортировки) и `reverse` (обратный порядок данных).