Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii.

Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii. Простенький метод, пригодится, когда много записей будет.

views/post/admin.php

...
<table>
<tr>
<td style="text-align: right;">Записей на странице: <?php echo CHtml::dropDownList('',Yii::app()->session['postPageCount'] ? Yii::app()->session['postPageCount'] : 10,Yii::app()->params['selectPageCount'],array('onchange'=>"document.location.href='/" . Yii::app()->request->pathInfo . "?pageCount='+this.value;")); ?></td>
</tr>
</table> 

models/Post.php

public function search()
{
$criteria=new CDbCriteria;

$criteria->compare('title',$this->title,true);

$criteria->compare('status',$this->status);

return new CActiveDataProvider('Post', array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'status, update_time DESC',
),

'pagination'=>array(
'pageSize'=>(int)Yii::app()->session['postPageCount'] ? Yii::app()->session['postPageCount'] : 10,
),
));
} 
controllers/PostController.php
public function actionAdmin()
{
if (isset($_GET['pageCount'])) {
            Yii::app()->session['postPageCount'] = $_GET['pageCount'];
        }

$model=new Post('search');
if(isset($_GET['Post']))
$model->attributes=$_GET['Post'];
$this->render('admin',array(
'model'=>$model,
));
}
config/params.php
'selectPageCount' => array(
'10' => '10',
'20' => '20',
'30' => '30',
'50' => '50',
'100' => '100',
'500' => '500',
'1000000' => 'Все',
),
config/main.php в компоненты
...
'components'=>array(
...

'session' => array(
'timeout' => 32400, // 9 часов
'class' => 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'yiico_session',
),
...
автоматически будет создана таблица в базе данных.
 

 

 

 

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:
  1. 14 Разработка приложения на Yii. Урок 14: Выводим список категорий как новый виджет на сайте (29.04.2015) free
  2. 13 Разработка приложения на Yii. Урок 13: Внедряем категории для статей. (29.04.2015) free
  3. 12 Разработка приложения на Yii. Урок 12: Профилирование приложения, включаем кеширование. (20.01.2015)
  4. 11 Yiico. Видеокурс по разработке сайта на Yii. Урок 11: Отладка приложения, включаем журналирование. (20.01.2015)
  5. 10 Yiico. Видеокурс по разработке сайта на Yii. Урок 10: Если ваше приложение находится не в корневой папке, а во вложенной. (19.10.2014) free
  6. 9 Разработка сайта на Yii с нуля. Урок 9. Выборка статей определённого автора. (13.08.2014) free
  7. 8 Разработка сайта на Yii с нуля. Урок 8. Вызов в моделях функции, общей для них. Как избегать дублирования кода? (25.07.2014) free
  8. 7 Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii. (04.09.2013) ← вы тут free
  9. 6 Разработка сайта на Yii с нуля. Урок 6. Автоматич. отправка оповещений об одобренных комментариях на email автора комментария (11.08.2013) free
  10. 5 Разработка сайта на Yii с нуля. Урок 5. Переименовываем blog в yiico. Изменяем "Home" в breadcrumbs. Включаем Gzip-сжатие. (09.08.2013) free
  11. 4 Курс по Yii с нуля. Урок 4. Дорабатываем простую работу с пользователями: хранение пароля при редактировании пользователя. (13.04.2013) free
  12. 3 Курс по Yii с нуля. Урок 3. Создаём новых пользователей. Организуем простую систему авторизации. Аутентификация, пароли, соли. (20.07.2014) free
  13. 2 Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url (09.07.2014) free
  14. 1 Курс по Yii с нуля. Урок 1. Устанавливаем Yii на локальном компьютере. Заводим проект будущего сайта. (10.03.2013) free
Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.

Leave a Comment

Fields with * are required.

Картинка с кодом валидации
Пожалуйста введите символы с картинки. Регистр букв неважен.