Сделал абсолютно минимальный набор стандартный действий для вывода грида:
Модель ArticleCategory:
...
// в правилах добавил:
array('title, subcategoryOfId, keywords, sdescription, fullTitle, pos, num_instances', 'safe', 'on'=>'search'),
...
public function search(){
$criteria=new CDbCriteria;
$criteria->compare('title', $this->title, true);
$sort = new CSort();
$sort->defaultOrder = 'title ASC';
return new CActiveDataProvider('ArticleCategory', array(
'criteria'=>$criteria,
'sort' => $sort
));
}
...
Контроллер:
class ArticleCategoryController extends MyController {
public function actionAdmin(){
$model = new ArticleCategory('search');
$model->unsetAttributes();
if(isset($_GET['ArticleCategory']))
$model->attributes = $_GET['ArticleCategory'];
$this->render('admin',array(
'model'=>$model,
));
}
}
Представление грида - admin.php:
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
'title',
'keywords',
'sdescription',
'fullTitle',
),
));
Сортировка работает нормально.
Но вот фильтр вообще не хочет работать, при вводе чего нибудь, например в поле для поиска по title, в гриде, ничего не происходит, бесконечно крутиться grid-view-loading гифка и все.
Подскажите пожалуйста в чем может быть ошибка, примерно где, куда хоть копать?
Если в $criteria->compare(‘title’, ‘какие_то_символы’, true); все нормально работает.
Еще, не знаю причастно ли это, но при открытой панели веб-разработке в Хроме на вкладке Scripts, при вводе чего нибудь в фильтр и нажатии Enter, скрипт тормозиться на этой строчке:
файл-jquery.yiigridview.js , строка-304:
if (options.data !== undefined && options.type === 'GET') {
options.url = $.param.querystring(options.url, options.data); //строка 304
options.data = {};
}
Может это поможет, помогите плиз, а то уже не знаю куда смотреть и что проверять!