===== 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''. | \\