[ 'class' => Index::class, 'columns' => [ 'link' => [ 'type' => Index::ACTION_COL, 'columnConfig' => [ 'buttonsTemplate' => '{edit}{delete}', ], ], 'origin' => [ 'type' => Index::STRING_COL, ], 'type' => [ 'type' => Index::TYPE_COL, 'columnConfig' => [ 'data' => [ 1 => \Yii::t('app', 'Copy'), 2 => \Yii::t('app', 'Rewrite'), ], ], ], 'language' => [ 'type' => Index::RELATION_COL, 'columnConfig' => [ 'relationField' => 'name', ], ], ], 'model' => CatalogRewrite::class, 'hasLanguage' => false, 'enableMassDelete' => false, 'modelPrimaryKey' => 'id', ], ]; } /** * Creates a new Alias model. * If creation is successful, the browser will be redirected to the 'view' alias. * * @return mixed */ public function actionCreate() { $model = new CatalogRewrite(); if ($model->load(\Yii::$app->request->post()) && $model->save()) { return $this->redirect( [ 'index', ] ); } return $this->render( 'create', [ 'model' => $model, 'languages' => ArrayHelper::map( Language::find() ->where([ 'status' => true ]) ->asArray() ->all(), 'id', 'name' ), ] ); } /** * @param $id * * @return string|\yii\web\Response * @throws \yii\web\NotFoundHttpException */ public function actionUpdate($id) { $model = $this->findModel($id); if ($model->load(\Yii::$app->request->post()) && $model->save()) { return $this->redirect( [ 'index', ] ); } return $this->render( 'update', [ 'model' => $model, 'languages' => ArrayHelper::map( Language::find() ->where([ 'status' => true ]) ->asArray() ->all(), 'id', 'name' ), ] ); } /** * @param $id * * @return \yii\web\Response * @throws \Throwable * @throws \yii\db\StaleObjectException * @throws \yii\web\NotFoundHttpException */ public function actionDelete($id) { $this->findModel($id) ->delete(); return $this->redirect([ 'index' ]); } /** * Finds the Alias model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * * @param integer $id * * @return CatalogRewrite the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (( $model = CatalogRewrite::findOne($id) ) !== null) { return $model; } else { throw new NotFoundHttpException('The requested alias does not exist.'); } } }