Thay vì cố gắng phát minh lại bánh xe, bạn có thể chỉ cần sử dụng tiện ích CGridView được cung cấp bởi Yii> . Nó có chức năng sắp xếp và lọc. Kiểm tra tài liệu và bạn sẽ thấy rằng có rất nhiều cấu hình bạn có thể sử dụng. Đoạn mã sau sử dụng cấu hình tối thiểu.
... / views / powers / index.php:
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'supermarkets-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
'name',
'location',
'telephone',
'fax',
'website'
),
));
?>
Triển khai hàm search () trong mô hình Siêu thị.
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('name',$this->name,true);
$criteria->compare('location',$this->location,true);
$criteria->compare('telephone',$this->telephone,true);
$criteria->compare('fax',$this->fax,true);
$criteria->compare('website',$this->website,true);
return new CActiveDataProvider(get_class($this), array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'name ASC',
),
'pagination'=>array(
'pageSize'=>20
),
));
}
Bộ điều khiển / Siêu thị Bộ điều khiển:.
public function actionIndex() {
$model =new Supermarkets('search');
if(isset($_GET['Supermarkets']))
$model->attributes =$_GET['Supermarkets'];
return $this->render('index', array('model'=>$model));
}