get(ArticleServiceInterface::ServiceName); return [ 'index' => [ 'class' => IndexAction::className(), 'data' => function($query) use($service){ $result = $service->getList($query, ['type'=> Article::SINGLE_PAGE]); return [ 'dataProvider' => $result['dataProvider'], 'searchModel' => $result['searchModel'], 'frontendURLManager' => $service->getFrontendURLManager(), ]; } ], 'view-layer' => [ 'class' => ViewAction::className(), 'data' => function($id) use($service){ return [ 'model' => $service->getDetail($id, ['scenario'=>ArticleServiceInterface::ScenarioPage]), ]; }, ], 'create' => [ 'class' => CreateAction::className(), 'doCreate' => function($postData) use($service){ return $service->create($postData, ['scenario'=>ArticleServiceInterface::ScenarioPage]); }, 'data' => function($createResultModel) use($service){ return [ 'model' => $createResultModel === null ? $service->newModel(['scenario'=>ArticleServiceInterface::ScenarioPage]) : $createResultModel['articleModel'], 'contentModel' => $createResultModel === null ? $service->newArticleContentModel() : $createResultModel['articleContentModel'] , ]; }, ], 'update' => [ 'class' => UpdateAction::className(), 'doUpdate' => function($id, $postData) use($service){ return $service->update($id, $postData, ['scenario'=>ArticleServiceInterface::ScenarioPage]); }, 'data' => function($id, $updateResultModel) use($service){ return [ 'model' => $updateResultModel === null ? $service->getDetail($id, ['scenario'=>ArticleServiceInterface::ScenarioPage]) : $updateResultModel['articleModel'], 'contentModel' => $updateResultModel === null ? $service->getArticleContentDetail($id) : $updateResultModel['articleContentModel'], ]; } ], 'delete' => [ 'class' => DeleteAction::className(), 'doDelete' => function($id) use($service){ return $service->delete($id); }, ], 'sort' => [ 'class' => SortAction::className(), 'doSort' => function($id, $sort) use($service){ return $service->sort($id, $sort, ['scenario'=>ArticleServiceInterface::ScenarioPage]); } ], ]; } }