php 如何在 Yii2 中创建寻呼机?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23336269/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 16:39:28  来源:igfitidea点击:

How to create pager in Yii2?

phppageryii2

提问by newYii

I was searching how to create pager in Yii2 using LinkPage widget.

我正在搜索如何使用 LinkPage 小部件在 Yii2 中创建寻呼机。

Is there any example? I am new in Yii, so any help would be good.

有什么例子吗?我是 Yii 的新手,所以任何帮助都会很好。

回答by Alex

It is simple

很简单

$dataProvider = new ActiveDataProvider([
    'query' => User::find(),
    'pagination' => array('pageSize' => 50),
]);

echo \yii\widgets\LinkPager::widget([
    'pagination'=>$dataProvider->pagination,
]);

Or if you don't use dataProvider you should use this:

或者如果你不使用 dataProvider 你应该使用这个:

$query = User::find();
$pagination = new Pagination(['totalCount' => $query->count(), 'pageSize'=>30]);

echo \yii\widgets\LinkPager::widget([
    'pagination' => $pagination,
]);

回答by Nizar Ali Hunzai

In controller:

在控制器中:

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,
    ]);
}

In view file:

在视图文件中:

foreach ($models as $model) {
    // display $model here
}

// display pagination
echo LinkPager::widget([
    'pagination' => $pages,
]);

回答by Jothi

Below is too simple for adding pagination,

下面添加分页太简单了,

We just need to add in controller,

我们只需要添加控制器,

$dataProvider = new ActiveDataProvider([
    'query' => Post::find(),
    'pagination' => [
        'pageSize' => 20,
    ],
]);

Yii2 will bring pagination on index page, https://yii2-framework.readthedocs.io/en/stable/guide/output-data-widgets/

Yii2 将在索引页面上带分页,https://yii2-framework.readthedocs.io/en/stable/guide/output-data-widgets/

回答by user8806780

In your controller

在您的控制器中

$searchModel = new CourseModuleMasterSearch();   

$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

$dataProvider->pagination = ['pageSize' => 20];//add this line