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,来实现的。