[ 'class' => AccessControl::className(), //'only' => ['logout','index'], 'rules' => [ [ 'actions' => ['index','save','delete'], 'allow' => true, 'roles' => ['admin'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } public function actionIndex() { $model = new Catalog; $dataCatalog = new ArrayDataProvider([ 'allModels' => $model->getDataTree(), 'sort' => [ 'attributes' => ['id'], ], 'pagination' => [ 'pageSize' => 100, ] ]); return $this->render('index',['dataCatalog'=>$dataCatalog]); } public function actionSave() { $model = (!empty($_GET['id'])) ? Catalog::findOne($_GET['id']) : new Catalog; if ($model->load(Yii::$app->request->post()) && $model->save()) { return Yii::$app->response->redirect(['/admin/catalog/index']); } return $this->render('save',['model'=>$model]); } public function actionDelete(){ $model = Catalog::findOne($_GET['id']); $model->delete(); Catalog::deleteAll(['parent_id' => $_GET['id']]); return Yii::$app->response->redirect(['/admin/catalog/index']); } }