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]); }