Created
May 27, 2018 17:20
-
-
Save calcio/dcf9304ca70b1c83545d2915a90b12d6 to your computer and use it in GitHub Desktop.
Modificação do ProductController.php para atender as modificações no CRUD de produtos da vitrine
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace app\modules\admin\controllers; | |
use Yii; | |
use app\modules\admin\models\Product; | |
use app\modules\admin\models\Category; | |
use app\modules\admin\models\ProductSearch; | |
use yii\web\Controller; | |
use yii\web\NotFoundHttpException; | |
use yii\filters\VerbFilter; | |
/** | |
* ProductController implements the CRUD actions for Product model. | |
*/ | |
class ProductController extends Controller | |
{ | |
/** | |
* @inheritdoc | |
*/ | |
public function behaviors() | |
{ | |
return [ | |
'verbs' => [ | |
'class' => VerbFilter::className(), | |
'actions' => [ | |
'delete' => ['POST'], | |
], | |
], | |
]; | |
} | |
/** | |
* Lists all Product models. | |
* @return mixed | |
*/ | |
public function actionIndex() | |
{ | |
$searchModel = new ProductSearch(); | |
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |
$category = new Category(); | |
return $this->render('index', [ | |
'searchModel' => $searchModel, | |
'dataProvider' => $dataProvider, | |
'listCategories' => $category->getAllCategoriesAsArray(), | |
]); | |
} | |
/** | |
* Displays a single Product model. | |
* @param integer $id | |
* @return mixed | |
*/ | |
public function actionView($id) | |
{ | |
return $this->render('view', [ | |
'model' => $this->findModel($id), | |
]); | |
} | |
/** | |
* Creates a new Product model. | |
* If creation is successful, the browser will be redirected to the 'view' page. | |
* @return mixed | |
*/ | |
public function actionCreate() | |
{ | |
$model = new Product(); | |
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
return $this->redirect(['view', 'id' => $model->id]); | |
} | |
$category = new Category(); | |
return $this->render('create', [ | |
'model' => $model, | |
'listCategories' => $category->getAllCategoriesAsArray(), | |
]); | |
} | |
/** | |
* Updates an existing Product model. | |
* If update is successful, the browser will be redirected to the 'view' page. | |
* @param integer $id | |
* @return mixed | |
*/ | |
public function actionUpdate($id) | |
{ | |
$model = $this->findModel($id); | |
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
return $this->redirect(['view', 'id' => $model->id]); | |
} | |
$category = new Category(); | |
return $this->render('update', [ | |
'model' => $model, | |
'listCategories' => $category->getAllCategoriesAsArray(), | |
]); | |
} | |
/** | |
* Deletes an existing Product model. | |
* If deletion is successful, the browser will be redirected to the 'index' page. | |
* @param integer $id | |
* @return mixed | |
*/ | |
public function actionDelete($id) | |
{ | |
$this->findModel($id)->delete(); | |
return $this->redirect(['index']); | |
} | |
/** | |
* Finds the Product model based on its primary key value. | |
* If the model is not found, a 404 HTTP exception will be thrown. | |
* @param integer $id | |
* @return Product the loaded model | |
* @throws NotFoundHttpException if the model cannot be found | |
*/ | |
protected function findModel($id) | |
{ | |
if (($model = Product::findOne($id)) !== null) { | |
return $model; | |
} | |
throw new NotFoundHttpException('The requested page does not exist.'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment