public function init() { $methodVar = $this->getMethodVar(); $filterId = $this->getFilterId(); $filterVar = 'filter_' . $filterId; if (isset($methodVar['resetFilter_' . $filterId . ''])) { Yii::app()->session->remove($filterVar); unset($_GET['resetFilter_' . $filterId . '']); foreach ($this->getModel() as $key => $value) { if (isset($_GET[get_class($value)])) { unset($_GET[get_class($value)]); } } $str = Yii::app()->request->getBaseUrl() . '/' . Yii::app()->request->getPathInfo() . '?' . http_build_query($_GET); Yii::app()->request->redirect($str); Yii::app()->end(); } $filterData = array(); if (isset($methodVar[$filterVar])) { if ($this->storeInSession) { Yii::app()->session->add($filterVar, serialize($methodVar)); } $filterData = $methodVar; } else { /** @var $session CHttpSession */ $session = Yii::app()->session; if ($this->storeInSession && !isset($methodVar['resetFilter_' . $filterId]) && $session[$filterVar]) { $filterData = unserialize($session[$filterVar]); } } if (isset($filterData) && $filterData) { $this->loadFilterDataToModel($filterData); } parent::init(); echo CHtml::hiddenField($filterVar, true); $this->registerScripts(); }