На первый взгляд разделение документа на страницы может показаться довольно сложной задачей. Но так как эта задача довольно часто стоит перед разработчиками сайтов, создатели Yii Framework позаботились о том, что бы максимально упростить эту задачу для разработчиков.
Во второй части статьи речь пойдет о Yii CLinkPager, который позволяет нам максимально просто настроить вывод блока постраничного навигатора.
И так перейдем к примеру настройки вывода постраничного навигатора и описанию его свойств.
Пример кода
В контроллере:
<?php class PostController extends Controller { //Ваш код... function actionIndex() { $criteria = new CDbCriteria(); $count = Post::model()->count($criteria); $pagination = new CPagination($count); $pagination->applyLimit($criteria); $model = Post::model()->findAll($criteria); $this->render('index', array( 'model' => $model, 'pagination' => $pagination )); } //Ваш код... } ?>
Шаблон view:
<?php //Ваш код ... $this->widget('CLinkPager', array( 'internalPageCssClass' => '', 'pages' => $paginator, //$paginator определен в контроллере 'id' => '', 'header' => '', 'selectedPageCssClass' => 'active', 'hiddenPageCssClass' => 'disabled', 'nextPageLabel' => '»', // » 'prevPageLabel' => '«', // « 'lastPageLabel' => '»»', // »» 'firstPageLabel' => '««', // «« 'htmlOptions' => array('class' => 'pagination'), )); //Ваш код ... ?>
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
| internalPageCssClass | string | page | CSS класс для кнопок постраничного навигатора |
| firstPageCssClass | string | first | CSS класс для первой кнопки постраничного навигатора |
| firstPageLabel | string | « First | Метка (текст) для первой кнопки |
| lastPageCssClass | string | last | CSS класс для последней кнопки постраничного навигатора |
| lastPageLabel | string | Last » | Метка (текст) для последней кнопки постраничного навигатора |
| hiddenPageCssClass | string | hidden | CSS класс для скрытых кнопок постраничного навигатора |
| header | string | Go to page: | Текст перед кнопками постраничного навигатора |
| footer | string | Текст после кнопок постраничного навигатора | |
| id | string | id контейнера постраничного навигатора | |
| maxButtonCount | integer | 10 | Максимальное количество кнопок страниц, которые будут отображены в постраничном навигаторе |
| nextPageCssClass | string | next | CSS класс для кнопки «Следующая страница» |
| nextPageLabel | string | Next > | Метка (текст) для кнопки «Следующая страница» |
| previousPageCssClass | string | previous | CSS класс для кнопки «Предыдущая страница» |
| prevPageLabel | string | < Previous | Метка (текст) для кнопки «Предыдущая страница» |
| selectedPageCssClass | string | selected | CSS класс для текущей (выделенной) кнопки |
| htmlOptions | array | HTML атрибуты для контейнера постраничного навигатора |
|
| currentPage | integer | 0 | Базовый индекс постраничного навигатора текущей страницы |
| pages | CPagination | Информация о нумерации страниц для постраничного навигатора | |
| cssFile | mixed | путь к CSS файлу для виджета (пример: Yii::app()→theme→baseUrl . '/css/file.css',) |