Пример #1
0
 private function getWidgetScript($callback)
 {
     Yii::app()->clientScript->scripts = array();
     ob_start();
     $widget = new CStarRating(null);
     $widget->name = 'test';
     $widget->callback = $callback;
     $widget->init();
     $widget->run();
     Yii::app()->clientScript->render($out);
     ob_end_clean();
     return $out;
 }
Пример #2
0
 public function init()
 {
     for ($x = 1; $x <= $this->maxRating; $x++) {
         $this->titles[$x] = Yii::t('app', 'RATING', $x);
     }
     parent::init();
 }
Пример #3
0
 public function init()
 {
     parent::init();
     if (Yii::app()->request->isAjaxRequest) {
         $cs = Yii::app()->clientScript;
         $cs->scriptMap = array('jquery.js' => false);
     }
     if (empty($this->name)) {
         $this->name = 'StarRating_' . $this->object_type . '_' . $this->object_id;
     }
     if ($this->readOnly) {
         $this->allowEmpty = false;
     }
     //如果为只读,则不加载默认callback
     if (!$this->readOnly) {
         $rate_num = $this->value;
         //根据id和id_type,uid 去查询 star_rate_log
         $model = new StarRateLog();
         $params['uid'] = Yii::app()->user->id;
         $params['object_id'] = $this->object_id;
         $params['object_type'] = $this->object_type;
         //$id = $this->id;
         $info = $model->findRateInfo($params);
         if (!empty($info)) {
             $rate_num = $info['star_num'];
         }
         $this->value = $rate_num;
         $this->callback = $this->getDefaultCallBack();
     }
 }