Yii Framework 开发教程(16) UI 组件 StarRating示例

jerry Yii 2015年11月24日 收藏

CStarRating 主要用于评分,显示一组星星(5 个)用于打分。

基本用法如下

  1. <div class="form">
  2. <?php $form=$this->beginWidget('CActiveForm'); ?>
  3.  
  4. <?php $this->widget('CStarRating',array(
  5. 'model'=>$model,
  6. 'attribute'=>'rating',
  7. 'name'=>'rating',
  8. 'value'=>3,
  9. )); ?>
  10.  
  11. <div class="row submit">
  12. <?php echo CHtml::submitButton('Submit'); ?>
  13. </div>
  14.  
  15. <?php $this->endWidget(); ?>
  16. </div><!-- form -->

在Controller中可以通过$_POST[?rating?] 来访问Star的值,比如:

  1. public function actionIndex()
  2. {
  3.  
  4. $model=new DataModel();
  5. $model->rating=3;
  6. if(!empty($_POST['rating']))
  7. {
  8. $model->rating=$_POST['rating'];
  9.  
  10. if($model->validate()) {
  11. $this->render('response', array(
  12. 'model' => $model,
  13.  
  14. ));
  15. return;
  16. }
  17.  
  18. }
  19.  
  20. $this->render('index', array(
  21. 'model' => $model,
  22.  
  23. ));
  24. }

CStarRating 也可以设为只读,此时StarRating用来显示评分而用户无法修改评分。这是通过?readOnly?=>true,来实现的。

201212125002

下载地址