CStarRating 主要用于评分,显示一组星星(5 个)用于打分。
基本用法如下
- <div class="form">
- <?php $form=$this->beginWidget('CActiveForm'); ?>
- <?php $this->widget('CStarRating',array(
- 'model'=>$model,
- 'attribute'=>'rating',
- 'name'=>'rating',
- 'value'=>3,
- )); ?>
- <div class="row submit">
- <?php echo CHtml::submitButton('Submit'); ?>
- </div>
- <?php $this->endWidget(); ?>
- </div><!-- form -->
在Controller中可以通过$_POST[?rating?] 来访问Star的值,比如:
- public function actionIndex()
- {
- $model=new DataModel();
- $model->rating=3;
- if(!empty($_POST['rating']))
- {
- $model->rating=$_POST['rating'];
- if($model->validate()) {
- $this->render('response', array(
- 'model' => $model,
- ));
- return;
- }
- }
- $this->render('index', array(
- 'model' => $model,
- ));
- }
CStarRating 也可以设为只读,此时StarRating用来显示评分而用户无法修改评分。这是通过?readOnly?=>true,来实现的。