===== Yii Framework, постраничная навигация CPaginatio =====
ли у Вас большое количество страниц (товаров, элементов, …), которые выводятся в списке, то постраничный навигатор для более удобной навигации по сайту Вам просто необходим. На первый взгляд это достаточно сложная задача. Но так как постраничная навигация используется довольно часто, разработчики Yii Framework позаботились о том, что бы максимально упростить ее.\\
\\
В первой части статьи речь пойдет о Yii CPagination, который позволяет нам очень просто разбить список записей на страницы (блоки) для постраничного навигатора сайта.\\
\\
И так перейдем к примеру работы с Yii CPagination и описанию его свойств.\\
\\
Пример постраничного навигатора.\\
В контроллере:
condition = 'visibility="1"';
$criteria->order = 'date DESC, id DESC';
$count = Post::model()->count($criteria);
$pagination = new CPagination($count);
$pagination->pageSize = 20; // Количество элементов на страницу
//$pagination->pageVar = 'p'; // Имя GET переменной хранения текущего индекса страницы. По умолчанию 'page'. Пример: /post/page/3
$pagination->applyLimit($criteria);
//$pagination->route = '/post/index'; //маршрут для отображения постраничной навигации. По умолчанию текущая страница.
$model = Post::model()->findAll($criteria);
$this->render('index', array(
'model' => $model,
'pagination' => $pagination
));
}
//Ваш код...
}
?>
Шаблон view:
widget('CLinkPager', array(
'pages' => $pagination,
));
//Ваш код...
?>
==== Свойства и настройка CPagination: ====
^Свойство^Тип^По умолчанию^Описание|
|pageVar|string|page| Имя переменной ''GET'' храненящей текущий номер страницы. |
|itemCount|integer|0| Общее количество элементов. |
|pageSize|integer|10| Количество элементов на странице. |
|route|string| | Маршрут (id контроллера и id действия) для отображения страниц. По умолчанию пустая строка, то есть с использованием текущего маршрута. |
|limit|integer| | Предел данных. Устанавливает ''limit'' значение ''SQL'' выборки данных для текущей страницы. Возвращает то же значение что и ''[[https://xn--d1acnqm.xn--j1amh/записи/yii_framework_постраничная_навигация_cpagination_часть_1#pageSize|pageSize]]'' . |
|offset|integer| | Cмещение данных. Устанавливает ''offset'' значение ''SQL'' выборки данных для текущей страницы. |
|pageCount|integer| | Количество страниц. |
|currentPage|integer|0| Базовый индекс постраничного навигатора текущей страницы. |
|params|array|null| Массив параметров (имя => значение), которые должны использоваться вместо ''GET'' при генерации ''URL''. По умолчанию ''null'', что означает, использовать доступные в настоящее время параметры ''GET''. |
\\