/** * @inheritdoc */ public function init() { parent::init(); if ($this->alias === null) { throw new InvalidConfigException('Property "alias" must be set.'); } $this->model = models\Slider::findByAlias($this->alias); if (!$this->model->active) { $this->model = null; } if (empty($this->items)) { $this->prepareItems(); } $this->registerClientScript(); }
/** * Search function * @param array $params Attributes array * @return yii\data\ActiveDataProvider */ public function search($params) { //ActiveQuery $query = Slider::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); //return data provider if no search if (!($this->load($params) && $this->validate())) { return $dataProvider; } //search $query->andFilterWhere(['like', 'title', $this->title]); return $dataProvider; }
/** * Slider deleting. * @param integer $id Slider id. * @return void */ public function actionDelete($id) { $object = Slider::findOne($id); if ($object === null) { throw new BadRequestHttpException(Yii::t('slider', 'Slider not found.')); } //images foreach ($object->images as $image) { $image->delete(); Yii::$app->storage->removeObject($image); } //object if ($object->delete()) { Yii::$app->session->setFlash('success', Yii::t('slider', 'Slider deleted successfully.')); } return $this->redirect(['index']); }
/** * Image update * @param string $id Slider image id * @return void */ public function actionUpdate($id) { $object = SliderImage::findOne($id); if ($object === null) { throw new BadRequestHttpException(Yii::t('slider', 'Image not found.')); } $slider = Slider::findOne($object->slider_id); if ($slider === null) { throw new BadRequestHttpException(Yii::t('slider', 'Slider not found.')); } $model = new SliderImageForm($object); if ($model->load(Yii::$app->getRequest()->post()) && $model->save()) { Yii::$app->session->setFlash('success', Yii::t('slider', 'Changes saved successfully.')); return $this->redirect(['index', 'slider_id' => $slider->id]); } return $this->render('update', ['model' => $model, 'slider' => $slider]); }
/** * Slider relation * @return \yii\db\ActiveQueryInterface */ public function getSlider() { return $this->hasOne(Slider::className(), ['id' => 'slider_id']); }