예제 #1
1
 /**
  * @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();
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
 /**
  * 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']);
 }
예제 #4
0
 /**
  * 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]);
 }
예제 #5
0
 /**
  * Slider relation
  * @return \yii\db\ActiveQueryInterface
  */
 public function getSlider()
 {
     return $this->hasOne(Slider::className(), ['id' => 'slider_id']);
 }