تا به اینجای کار با اکشن های view , create , index آشنا شدیم
در این قسمت مدیریت کلیه دیتاهمون یا همون اکشن actionAdmin رو بررسی میکنیم
http://localhost:1007/index.php?r=user/admin
تصویر بالا بخش مدیریتی ماست که می توانید اطلاعات را حذف , ویرایش کنین
همچنین می توانید اطلاعات کلیه هر رکورد را ببینی(علامت ذره بین)
همچنین میتونین با استفاده از تکست باکسایی که قرار داره طبق هر ستون جستجو کنین
خوب بریم توی کنترلر و اکشن ادمین actionAdmin
public function actionAdmin()
{
$model=new User('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['User']))
$model->attributes=$_GET['User'];
$this->render('admin',array(
'model'=>$model,
));
}
با استفاده از کد با لا علاوه بر این که دیتا های جدول کاربرو به ویو میفرستیم یه مدل ایجاد میکنیم که بخش جست جو را ارسال میکنه
مدلمون به این صورت تعریف شده که از کلیه ی اطلاعات جدولمونو با استفاده از
$model=new User(search)
دریافت می کنیم.
اگه به مدلتون یه سر بزنین میبینین که یه متد با نام سرچ داره
public function search() {
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria = new CDbCriteria;
$criteria->compare('id', $this->id);
$criteria->compare('email', $this->email, true);
$criteria->compare('password', $this->password, true);
$criteria->compare('first_name', $this->first_name, true);
$criteria->compare('last_name', $this->last_name, true);
$criteria->compare('status', $this->status);
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
));
}
این قسمت امکان جستجو در اطلاعاتمونو مدیریت میکنه
به صورت کلی یه سری داده (همونایی که توی تکست باکس میزنین) را دریافت میکنه و بر اساس اونا فیلتر میکنه.
فعلا در همین حد داشته باشین . جلوتر که بریم بر اساس نیاز هامون بیشتر از این قسمت اسنفاده میکنیم.
توی قسمت ویو همانند clistview و cdetail view ماژولی دارین که کار را برای ما آسون کرده .نام این
ماژول cgridview هست
کد زیر
widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'email',
'password',
'first_name',
'last_name',
'status',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
خوب توی cgridview علاوه بر قسمتی که داده هارو دریافت میکنه یه قسمت دیگه هم داره برای جستجو یا همون فیلتر
نکته ی بعدی شما مثل clistview میتونین ستون هایی که می خواین نمایش داده بشرو مشخص کنید نکته های دیگه ای هم داره که بعدا اطلاع میدم بهتون به وقتش
کد های بالا رو من به این شکل تغییر میدم
breadcrumbs=array(
'مدیریت کاربران',
);
$this->menu=array(
array('label'=>'ثبت کاربر', 'url'=>array('create')),
);
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$('#user-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
");
?>
مدیریت کاربران
'search-button')); ?>
widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'email',
'first_name',
'last_name',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
خوب یه سری ماژول های فریم ورکو تعریف کردیم. خیلی زیاد روش مانور ندادیم
فعلا جهت آشنای هست.
فعلا اینارو داشته باشین تا اشنا بشین باهاشون.
کارای پیچیده تری میتونیم باهاشون انجام بدیم.
که به مرور ک پیش بریم اونهارو هم تعریف میکنیم.
موفق باشین