Я создал страницу, которая отображает журналы сервера, и добавила форму фильтра, чтобы я мог фильтровать журналы на определенные действия, даты и т. Д. Я не могу понять, как используйте CPagination
, чтобы разделить результаты на страницы. Если я добавлю виджет CPagination
, когда страница будет выбрана из виджета, форма фильтра не будет повторно отправлена, а результаты моего фильтра будут потеряны.Объединение формы и CPagination в Yii
Я в затруднении для простого решения для сохранения данных формы фильтра с помощью виджета CPagination
. Любые предложения были бы замечательными.
Update
У меня это функционирование, но я должен был установить состояние сеанса, чтобы сохранить свои данные формы.
$filter=false;
$form=new LogFilterForm;
if(isset($_POST['LogFilterForm'])){
$form->attributes=$_POST['LogFilterForm'];
Yii::app()->user->setState('filter',$form);
$filter=true;
}
else if(Yii::app()->user->hasState('filter')){
$form=Yii::app()->user->getState('filter');
$filter=true;
}
Любые идеи о том, как я могу очистить состояние сеанса от навигации на другой странице?
К сожалению, я застрял с использованием 1.0 (я начал проект несколько месяцев назад). Насколько я могу судить, CGridView нова к 1.1. Я думаю, что переопределить onBeginRequest() - мой лучший выбор. Где я должен разместить свой производный класс и как настроить конфигурационный файл, а не обычный класс приложения? –
добавил пару ссылок на форум, которые должны помочь – thaddeusmt
Наконец, вернемся к этому. Переопределение onBeginRequest() было безумно легким. Спасибо, что указал мне на ссылки. –