2014-04-28 2 views

답변

39

$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, 
]); 
+0

이 정보가 도움이 되었습니까? – Alex

+0

안녕하세요 알렉스 - 두 번째 예에서는 pageSize를 어디에 제공합니까? 감사. – Pawan

+1

@Alex는 두 번째 예제에서''페이지 매김 '=> $ 페이지 매김이 아니어야합니까? –

4

:

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, 
]); 
관련 문제