Example #1
0
 public function getUserWishList()
 {
     $list = [];
     foreach (\halumein\wishlist\models\Wishlist::findAll(['user_id' => \Yii::$app->user->id]) as $uwl) {
         $list[] = $this->findModel($uwl->model, $uwl->item_id);
     }
     return $list;
 }
 public function actionRemove()
 {
     $postData = \Yii::$app->request->post();
     $elementModel = Wishlist::find()->where(['user_id' => \Yii::$app->user->getId(), 'model' => $postData['model'], 'item_id' => $postData['itemId']])->one();
     \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
     // небольшая проверка на случай если уже удалено из модального окна или на другой вкладке
     if ($elementModel) {
         if ($elementModel->delete()) {
             return ['response' => true, 'url' => Url::toRoute('/wishlist/element/add')];
         }
     } else {
         return ['response' => true, 'url' => Url::toRoute('/wishlist/element/add')];
     }
     return ['response' => false];
 }
 public function run()
 {
     if (!is_object($this->model)) {
         return false;
     }
     $action = 'add';
     $url = '/wishlist/element/add';
     $model = $this->model;
     $text = $this->anchorUnactive;
     $elementModel = Wishlist::find()->where(['user_id' => \Yii::$app->user->getId(), 'model' => $model::className(), 'item_id' => $model->id])->one();
     if ($elementModel) {
         $text = $this->anchorActive;
         $this->cssClass .= ' ' . $this->cssClassInList;
         $action = 'remove';
         $url = '/wishlist/element/remove';
     }
     return Html::tag($this->htmlTag, $text, ['class' => $this->cssClass, 'data-role' => 'hal_wishlist_button', 'data-url' => Url::toRoute($url), 'data-action' => $action, 'data-item-id' => $model->id, 'data-model' => $model::className()]);
 }
 /**
  * Renders the index view for the module
  * @return string
  */
 public function actionIndex()
 {
     $list = Wishlist::find()->where(['user_id' => \Yii::$app->user->getId()])->all();
     return $this->render('index', ['list' => $list]);
 }