示例#1
0
 public static function reviews($id, $flag = "")
 {
     $reviews = \app\modules\reviews\models\News::find()->where('product_id=' . $id)->all();
     //return count($reviews);
     $count = 0;
     foreach ($reviews as $review) {
         $count += $review->no_of_review;
     }
     if ($count > 0) {
         $avg_rate = round($count / count($reviews));
     } else {
         $avg_rate = 0;
     }
     if ($flag == 1) {
         return $avg_rate;
     }
     if ($flag == 2) {
         return count($reviews);
     }
     return $avg_rate . "/5 | " . count($reviews) . " " . Yii::t('easyii', 'reviews');
 }
示例#2
0
 private function findNews($id_slug)
 {
     $news = NewsModel::find()->where(['or', 'news_id=:id_slug', 'slug=:id_slug'], [':id_slug' => $id_slug])->status(NewsModel::STATUS_ON)->one();
     if ($news) {
         $news->updateCounters(['views' => 1]);
         return new NewsObject($news);
     } else {
         return null;
     }
 }
 public function actionReview($slug = null, $review)
 {
     $item = Catalog::get($slug);
     if (!$item) {
         throw new NotFoundHttpException('Item not found.');
     }
     $Creview = \app\modules\reviews\models\News::find()->where('news_id=' . $review)->one();
     if ($Creview) {
         $this->view->params['metatitle'] = $Creview->title;
         $this->view->params['metaimage'] = "http://" . $_SERVER['SERVER_NAME'] . '/' . $item->image;
         $this->view->params['metadesc'] = $Creview->short;
     }
     $reviews = News::items(['tags' => '', 'pagination' => ['pageSize' => 5]], "product_id = " . $item->id);
     $count = 0;
     foreach ($reviews as $review) {
         $count += $review->no_of_review;
     }
     if ($count > 0) {
         $avg_rate = count($reviews) / $count;
     } else {
         $avg_rate = 0;
     }
     $avg_rate = round($avg_rate);
     //var_dump($reviews);die;
     return $this->render('view', ['item' => $item, 'addToCartForm' => new \app\models\AddToCartForm(), 'reviews' => $reviews, 'Creviews' => $Creview]);
 }
示例#4
0
 public function actionIndex()
 {
     $data = new ActiveDataProvider(['query' => News::find()->sortDate()]);
     return $this->render('index', ['data' => $data]);
 }