mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-03 13:58:55 +08:00
Merge pull request #7009 from Ximich/patch-2
[skip ci] Create russian translation of output-pagination.md
This commit is contained in:
45
docs/guide-ru/output-pagination.md
Normal file
45
docs/guide-ru/output-pagination.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
Постраничное разделение данных
|
||||||
|
==========
|
||||||
|
|
||||||
|
В случае когда требуется отобразить слишком много данных на одной странице, эта страница зачастую
|
||||||
|
разделяется на несколько частей, каждая из которых содержит и отображает только часть данных за один раз.
|
||||||
|
Такие части называются страницами, а сам процесс называется постраничным разделением данных.
|
||||||
|
|
||||||
|
Если вы используете [источник данных](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,
|
||||||
|
]);
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user