Commit a3e76a5e by Maxim Chistyakov

Create russian translation of output-pagination.md

parent 89f4c0e3
Постраничное разделение данных
==========
В случае когда требуется отобразить слишком много данных на одной странице, эта страница зачастую
разделяется на несколько частей, каждая из которых содержит и отображает только часть данных за один раз.
Такие части называются страницами, а сам процесс называется постраничным разделением данных.
Если вы используете [источник данных](output-data-providers.md) с одним из [виджетов данных](output-data-widgets.md),
то в этом случае будет автоматически использовано постраничное разделение данных. В противном случае вам требуется создать объект [[\yii\data\Pagination]],
заполнить его такими данными как [[\yii\data\Pagination::$totalCount|общее количество элементов]],
[[\yii\data\Pagination::$pageSize|количество элементов на одной странице]] и [[\yii\data\Pagination::$page|текущая страница]], затем применить
его к запросу и передать в [[\yii\widgets\LinkPager|элемент нумерации страниц]].
Первым делом в действии контроллера мы создаем объект постраничного разделения данных и заполняем его данными:
```php
function actionIndex()
{
$query = Article::find()->where(['status' => 1]);
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count()]);
$models = $query->offset($pages->offset)
->limit($pages->limit)
->all();
return $this->render('index', [
'models' => $models,
'pages' => $pages,
]);
}
```
Затем в представлении мы выводим модели для текущей страницы и передаем объект постраничного разделение данных в элемент нумерации страниц:
```php
foreach ($models as $model) {
// отображаем здесь $model
}
// отображаем ссылки на страницы
echo LinkPager::widget([
'pagination' => $pages,
]);
```
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment