예제 #1
0
 public function getPhotos()
 {
     if (!$this->_photos) {
         $this->_photos = [];
         foreach (Photo::find()->where(['class' => NewsModel::className(), 'item_id' => $this->id])->sort()->all() as $model) {
             $this->_photos[] = new PhotoObject($model);
         }
     }
     return $this->_photos;
 }
예제 #2
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');
 }
예제 #3
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;
     }
 }
예제 #4
0
 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]);
 }
예제 #5
0
 public function actionClearImage($id)
 {
     $model = News::findOne($id);
     if ($model === null) {
         $this->flash('error', Yii::t('easyii', 'Not found'));
     } else {
         $model->image = '';
         if ($model->update()) {
             @unlink(Yii::getAlias('@webroot') . $model->image);
             $this->flash('success', Yii::t('easyii', 'Image cleared'));
         } else {
             $this->flash('error', Yii::t('easyii', 'Update error. {0}', $model->formatErrors()));
         }
     }
     return $this->back();
 }