Примеры постраничной навигации
Пример 1
Контроллер:
function actionIndex(){ $criteria = new CDbCriteria(); $count=Article::model()->count($criteria); $pages=new CPagination($count); // элементов на страницу $pages->pageSize=10; $pages->applyLimit($criteria); $models = Article::model()->findAll($criteria); $this->render('index', array( 'models' => $models, 'pages' => $pages )); }
Шаблон view:
<?foreach($models as $model):?> // выводим модели <?endforeach?> // рисуем пейджер <?$this->widget('CLinkPager', array( 'pages' => $pages, ))?>
Прнимер 2
Контроллер:
public function actionUsers() { $dataProvider=new CActiveDataProvider('Users', array( 'criteria'=>array( 'order'=>'registrationdate DESC', ), 'pagination'=>array( 'pageSize'=>Yii::app()->params['usersPerPage'], ), )); $this->render('users',array( 'dataProvider'=>$dataProvider, )); }
Представление:
<?php foreach($dataProvider->data as $user):?> <?php endforeach; ?> <?php $this->widget('CLinkPager',array('pages'=>$dataProvider->pagination)); ?>