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

Php 如何在Yii2中创建寻呼机?,php,pager,yii2,Php,Pager,Yii2,我正在搜索如何使用LinkPage小部件在Yii2中创建寻呼机 有什么例子吗?我是Yii的新手,所以任何帮助都很好。很简单 $dataProvider = new ActiveDataProvider([ 'query' => User::find(), 'pagination' => array('pageSize' => 50), ]); echo \yii\widgets\LinkPager::widget([ 'pagination'=>

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

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

很简单

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

echo \yii\widgets\LinkPager::widget([
    'pagination'=>$dataProvider->pagination,
]);
或者,如果不使用dataProvider,则应使用:

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

echo \yii\widgets\LinkPager::widget([
    'pagination' => $pagination,
]);
在控制器中:

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,
    ]);
}
在视图文件中:

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

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

下面对于添加分页来说太简单了

我们只需要添加控制器

$dataProvider = new ActiveDataProvider([
    'query' => Post::find(),
    'pagination' => [
        'pageSize' => 20,
    ],
]);
Yii2将在索引页上进行分页,

在控制器中

$searchModel = new CourseModuleMasterSearch();   

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

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

嗨,Alex-在第二个示例中,您在哪里提供页面大小。谢谢。@Alex在第二个示例中不应该是
'pagination'=>$pagination
?只是一个提示:如果使用GridView列出实体行,使用数据提供程序代码就足够了,小部件会自己添加页面html。