Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 623cdb5

Browse files
authored
Translate missing Russian guide docs and complete partial translations [ci skip] (#20769)
1 parent 379b296 commit 623cdb5

7 files changed

Lines changed: 436 additions & 47 deletions

File tree

docs/guide-ru/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ All Rights Reserved.
1818
Первое знакомство
1919
-----------------
2020

21+
* [Что нужно знать](start-prerequisites.md)
2122
* [Установка Yii](start-installation.md)
2223
* [Запуск приложения](start-workflow.md)
2324
* [Говорим «привет»](start-hello.md)
@@ -135,6 +136,7 @@ All Rights Reserved.
135136
* [Быстрый старт](rest-quick-start.md)
136137
* [Ресурсы](rest-resources.md)
137138
* [Контроллеры](rest-controllers.md)
139+
* [Фильтрация коллекций](rest-filtering-collections.md)
138140
* [Роутинг](rest-routing.md)
139141
* [Форматирование ответа](rest-response-formatting.md)
140142
* [Аутентификация](rest-authentication.md)
@@ -168,6 +170,7 @@ All Rights Reserved.
168170
* [Шаблон приложения advanced](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/README.md)
169171
* [Создание приложения с нуля](tutorial-start-from-scratch.md)
170172
* [Консольные команды](tutorial-console.md)
173+
* [Docker](tutorial-docker.md)
171174
* [Встроенные валидаторы](tutorial-core-validators.md)
172175
* [Интернационализация](tutorial-i18n.md)
173176
* [Отправка почты](tutorial-mailing.md)
@@ -199,4 +202,5 @@ All Rights Reserved.
199202
* [Обзор](helper-overview.md)
200203
* [ArrayHelper](helper-array.md)
201204
* [Html](helper-html.md)
205+
* [Json](helper-json.md)
202206
* [Url хелпер](helper-url.md)

docs/guide-ru/helper-json.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Json хелпер
2+
===========
3+
4+
Json хелпер предоставляет набор статических методов для кодирования и декодирования JSON.
5+
Он обрабатывает ошибки кодирования, а метод [[yii\helpers\Json::encode()]] не кодирует JavaScript-выражения,
6+
представленные в виде объектов [[yii\web\JsExpression]].
7+
По умолчанию кодирование выполняется с опциями `JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE`.
8+
Подробнее см. [PHP:json_encode](https://www.php.net/manual/ru/function.json-encode.php).
9+
10+
## Форматированный вывод <span id="pretty-print"></span>
11+
12+
По умолчанию [[yii\helpers\Json::encode()]] выводит неотформатированный JSON (без пробелов).
13+
Чтобы сделать его удобочитаемым, можно включить форматированный вывод.
14+
15+
> Note: Форматированный вывод полезен при отладке во время разработки, но не рекомендуется в production-окружении.
16+
17+
Чтобы включить форматированный вывод в одном вызове, укажите соответствующую опцию:
18+
19+
```php
20+
$data = ['a' => 1, 'b' => 2];
21+
$json = yii\helpers\Json::encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
22+
```
23+
24+
Также можно включить форматированный вывод глобально. Например, в конфигурации или в index.php:
25+
26+
```php
27+
yii\helpers\Json::$prettyPrint = YII_DEBUG; // форматированный вывод в режиме отладки
28+
```

docs/guide-ru/output-sorting.md

Lines changed: 74 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,88 @@
11
Сортировка
2-
=======
2+
==========
33

4-
Иногда выводимые данные требуется отсортировать в соответствии с одним или несколькими атрибутами.
5-
Если вы используете [провайдер данных](output-data-providers.md) с одним из [виджетов данных](output-data-widgets.md),
6-
сортировка будет применена автоматически. В противном случае вы должны создать экземпляр [[yii\data\Sort]],
7-
настроить его и применить к запросу. Он также может быть передан в представление, где будет использован
8-
для создания ссылок на сортировку по определенным атрибутам.
4+
При выводе нескольких строк данных часто требуется сортировка по определённым столбцам,
5+
указанным пользователем. Yii использует объект [[yii\data\Sort]] для представления информации о схеме сортировки.
6+
В частности,
97

10-
Ниже приведен типичный пример использование сортировки,
8+
* [[yii\data\Sort::$attributes|attributes]] определяет *атрибуты*, по которым данные могут быть отсортированы.
9+
Атрибут может соответствовать простому [атрибуту модели](structure-models.md#attributes) или быть составным,
10+
объединяющим несколько атрибутов модели или столбцов БД. Подробности приведены ниже.
11+
* [[yii\data\Sort::$attributeOrders|attributeOrders]] содержит текущие направления сортировки для каждого атрибута.
12+
* [[yii\data\Sort::$orders|orders]] содержит направления сортировки в терминах низкоуровневых столбцов.
13+
14+
Чтобы использовать [[yii\data\Sort]], объявите доступные для сортировки атрибуты, затем получите текущие параметры
15+
сортировки из [[yii\data\Sort::$attributeOrders|attributeOrders]] или [[yii\data\Sort::$orders|orders]]
16+
и используйте их для настройки запроса данных. Например:
1117

1218
```php
13-
function actionIndex()
14-
{
15-
$sort = new Sort([
16-
'attributes' => [
17-
'age',
18-
'name' => [
19-
'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
20-
'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
21-
'default' => SORT_DESC,
22-
'label' => 'Name',
23-
],
19+
use yii\data\Sort;
20+
21+
$sort = new Sort([
22+
'attributes' => [
23+
'age',
24+
'name' => [
25+
'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
26+
'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
27+
'default' => SORT_DESC,
28+
'label' => 'Name',
2429
],
25-
]);
26-
27-
$models = Article::find()
28-
->where(['status' => 1])
29-
->orderBy($sort->orders)
30-
->all();
31-
32-
return $this->render('index', [
33-
'models' => $models,
34-
'sort' => $sort,
35-
]);
36-
}
30+
],
31+
]);
32+
33+
$articles = Article::find()
34+
->where(['status' => 1])
35+
->orderBy($sort->orders)
36+
->all();
3737
```
3838

39-
В представлении:
39+
В примере выше для объекта [[yii\data\Sort|Sort]] объявлены два атрибута: `age` и `name`.
40+
41+
Атрибут `age` - это *простой* атрибут, соответствующий атрибуту `age` класса Active Record `Article`.
42+
Он эквивалентен следующему объявлению:
4043

4144
```php
42-
// Отображение ссылок на различные действия сортировок
45+
'age' => [
46+
'asc' => ['age' => SORT_ASC],
47+
'desc' => ['age' => SORT_DESC],
48+
'default' => SORT_ASC,
49+
'label' => Inflector::camel2words('age'),
50+
]
51+
```
52+
53+
Атрибут `name` - это *составной* атрибут, определённый через `first_name` и `last_name` модели `Article`.
54+
Он объявлен с помощью следующей структуры массива:
55+
56+
- Элементы `asc` и `desc` задают порядок сортировки по атрибуту по возрастанию и убыванию соответственно.
57+
Их значения представляют реальные столбцы и направления сортировки. Можно указать один или несколько столбцов
58+
для простой или составной сортировки.
59+
- Элемент `default` задаёт направление сортировки при первом запросе.
60+
По умолчанию - по возрастанию: если атрибут ранее не сортировался и пользователь запросил сортировку по нему,
61+
данные будут отсортированы по возрастанию.
62+
- Элемент `label` задаёт метку, используемую при вызове [[yii\data\Sort::link()]] для создания ссылки сортировки.
63+
Если не указан, для генерации метки из имени атрибута будет вызван [[yii\helpers\Inflector::camel2words()]].
64+
Метка не кодируется в HTML.
65+
66+
> Info: Значение [[yii\data\Sort::$orders|orders]] можно передавать напрямую в запрос к базе данных
67+
для построения секции `ORDER BY`. Не используйте для этого [[yii\data\Sort::$attributeOrders|attributeOrders]],
68+
так как некоторые атрибуты могут быть составными и не будут распознаны запросом к БД.
69+
70+
Для создания гиперссылки, по которой пользователь может запросить сортировку по указанному атрибуту,
71+
вызовите [[yii\data\Sort::link()]]. Для создания URL сортировки используйте [[yii\data\Sort::createUrl()]].
72+
Например:
73+
74+
```php
75+
// задаёт маршрут, который будет использоваться в URL
76+
// если не указан, используется текущий маршрут
77+
$sort->route = 'article/index';
78+
79+
// отображение ссылок сортировки по name и age
4380
echo $sort->link('name') . ' | ' . $sort->link('age');
4481

45-
foreach ($models as $model) {
46-
// здесь отображаем модель $model
47-
}
82+
// выводит: /index.php?r=article%2Findex&sort=age
83+
echo $sort->createUrl('age');
4884
```
4985

50-
В примере выше, мы объявляем два атрибута, которые поддерживают сортировку: `name` и `age`.
51-
Мы передаем информацию о сортировке в запрос статьи, поэтому результаты запроса будут отсортированы
52-
согласно сортировке, установленной в объекте Sort. В представлении, мы отображаем две ссылки,
53-
которые ведут на страницы с данными, отсортированными по соответствующим атрибутам.
54-
55-
Класс [[yii\data\Sort|Sort]] будет автоматически принимать параметры, переданные с запросом
56-
и в соответствии с ними настраивать параметры сортировки. Вы можете регулировать список принимаемых
57-
параметров через настройку свойства [[yii\data\Sort::$params|$params]].
86+
[[yii\data\Sort]] проверяет query-параметр `sort`, чтобы определить, по каким атрибутам запрошена сортировка.
87+
Сортировку по умолчанию (при отсутствии параметра) можно задать через [[yii\data\Sort::defaultOrder]].
88+
Имя query-параметра настраивается через свойство [[yii\data\Sort::sortParam|sortParam]].

0 commit comments

Comments
 (0)