public function actionList($id) { $model = CarouselCatalog::findOne($id); if ($model === null) { $this->flash('error', Yii::t('easyii', 'Not found')); return $this->redirect(['/admin/' . $this->module->id]); } if (Yii::$app->request->post('save')) { $items = []; foreach (Yii::$app->request->post('Items', []) as $itemData) { $item = Json::decode($itemData, false); if ($item === null || empty($item->item_id) || !($item->item_id = trim($item->item_id))) { continue; } $items[] = $item->item_id; } $model->items = $items; if ($model->save()) { $this->flash('success', Yii::t('easyii/carouselcatalog', 'Item updated')); } else { $this->flash('error', Yii::t('easyii', 'Update error. {0}', $model->formatErrors())); } return $this->refresh(); } else { $items = Item::find()->where(['not in', 'item_id', $model->items])->all(); $already = Item::find()->where(['in', 'item_id', $model->items])->orderBy(['FIELD(item_id, ' . join(', ', $model->items) . ')' => ''])->all(); foreach ($already as &$_already) { $_already = new ItemObject($_already); } foreach ($items as &$item) { $item = new ItemObject($item); } } return $this->render('list', ['model' => $model, 'items' => $items, 'already' => $already]); }
public function actionDelete($id) { if ($model = CarouselCatalog::findOne($id)) { $model->delete(); } else { $this->error = Yii::t('easyii', 'Not found'); } return $this->formatResponse(Yii::t('easyii/carouselcatalog', 'Carousel item deleted')); }