get(BannerServiceInterface::ServiceName); return [ 'index' => [ 'class' => IndexAction::className(), 'data' => function($query) use($service){ $result = $service->getList($query); return [ 'dataProvider' => $result['dataProvider'], 'searchModel' => $result['searchModel'] ]; } ], 'create' => [ 'class' => CreateAction::className(), 'doCreate' => function($postData) use($service){ return $service->create($postData); }, 'data' => function($createResultModel) use($service){ $model = $createResultModel === null ? $service->newModel() : $createResultModel; return [ 'model' => $model, ]; } ], 'update' => [ 'class' => UpdateAction::className(), 'doUpdate' => function($id, $postData) use($service){ return $service->update($id, $postData); }, 'data' => function($id, $updateResultModel) use($service){ $model = $updateResultModel === null ? $service->getDetail($id) : $updateResultModel; return [ 'model' => $model, ]; }, 'successRedirect' => ["banner/index"] ], 'delete' => [ 'class' => DeleteAction::className(), 'doDelete' => function($id) use($service){ return $service->delete($id); }, ], 'banners' => [ 'primaryKeyIdentity' => 'id', 'class' => IndexAction::className(), 'data' => function($id, $query) use($service){ $result = $service->getBannerList($query); return [ 'dataProvider' => $result['dataProvider'], 'bannerType' => $service->getDetail($id), ]; } ], 'banner-create' => [ 'primaryKeyIdentity' => 'id', 'class' => CreateAction::className(), 'doCreate' => function($id, $postData) use($service){ return $service->createBanner($id, $postData); }, 'data' => function($id, $createResultModel) use($service){ $model = $createResultModel === null ? $service->newBannerModel($id) : $createResultModel; return [ 'model' => $model, ]; }, 'successRedirect' => ['banner/banners', 'id'=>Yii::$app->getRequest()->get('id'), 'sign'=>Yii::$app->getRequest()->get('sign')] ], 'banner-view-layer' => [ 'primaryKeyIdentity' => ['id', 'sign'], 'class' => ViewAction::className(), 'data' => function($id, $sign) use($service){ return [ 'model' => $service->getBannerDetail($id, $sign), ]; }, 'viewFile' => 'view', ], 'banner-update' => [ 'primaryKeyIdentity' => ['id', 'sign'], 'class' => UpdateAction::className(), 'doUpdate' => function($id, $sign, $postData) use($service){ return $service->updateBanner($id, $sign, $postData); }, 'data' => function($id, $sign, $updateResultModel) use($service) { $model = $updateResultModel === null ? $service->getBannerDetail($id, $sign) : $updateResultModel; return [ 'model' => $model, ]; }, 'successRedirect' => ['banner/banners', 'id'=>Yii::$app->getRequest()->get('id'), 'sign'=>Yii::$app->getRequest()->get('sign')] ], 'banner-sort' => [ 'class' => SortAction::className(), 'doSort' => function($param, $value) use($service){ return $service->sortBanner($param['id'], $param['sign'], $value); }, ], 'banner-delete' => [ 'primaryKeyIdentity' => "sign", 'class' => DeleteAction::className(), 'doDelete' => function($sign) use($service){ $id = Yii::$app->getRequest()->get("id", null); return $service->deleteBanner($id, $sign); }, ], ]; } }