Добрый день уважаемые господа знатоки. В общем хотел бы у вас поинтересоваться 2-я вещами. Первое это как сделать в контроллере админ в гриде так что бы выводились только сообщения с конкретным айдишником. Я так понемаю вот этот код отвечает за вывод модели в контроллере админ, хотя это очевидно, имеется ввиду, я так понемаю надо изменить условия поиска по модели.
public function actionAdmin()
{
$model=new News('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['News']))
$model->attributes=$_GET['News'];
$this->render('admin',array(
'model'=>$model,
));
}
здесь ‘search’ как то надо поменять, не вижу только где меняется. И откуда приходит инфа, но походу она приходит по аяксу, по событиям.
Второй вопрос, как реализовать, чекбоксы в гриде, что бы можно было бы их помечать, а потом разом удалять по ним сообщения какэто реализщовано в PHPmyAdmin.
Насколько я понял вы хотите вывести не всю таблицу, а только то где id чего то равен чему то.
Совершенно верно. При изменении фильтров выполняется ajax запрос, в котором с помощью GET передаются значения фильтров. После этого мы присваиваем значения фильтров атрибутам модели и берем dataprovider из search() модели.
Возьмем search() из демо блога:
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',
),
//чтобы вывести например то что вам нужно добавим следующее
'condition'=>'my_awesome_id='.$my_id//тут решите как вы будете передавать, рекомендую при присвоении в контроллере добавлять ид, и использовать его здесь как $this->my_awesome_id
));
}
Благодарю вас за ответ, но пока я его перевариваю, и не могу что то толковое ответить. Тяжелая для понемания штука. По поводу справочника API конечно я его читаю так как знаю английский, но там 3/4 описано настолько абстрактно. аля как хотите, так и понимайте, либо пока мой уровень оставляет желать лучше в чем я тоже уверен.
ЕЕЕЕЕЕЕ Чуть поковырялся и понял, что кое что упустил. А потом понял что упустил, и сделал то что хотел.
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id_news',$this->id_news);
$criteria->compare('name',$this->name,true);
$criteria->compare('introduction',$this->introduction,true);
$criteria->compare('login',$this->login,true);
if(Yii::app()->user->checkAccess('3')){
$criteria->compare('id_user',$this->id_user);
}
if(Yii::app()->user->checkAccess('1')){
$criteria->compare('id_user',Yii::app()->user->id);
}
$criteria->compare('date_news',$this->date_news,true);
$criteria->compare('number_news',$this->number_news);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
Спасибо вам за подсказку))) Теперь надо 2 часть плана довершить.