@krista
Чтобы сделать редирект после отправки формы в Yii2, необходимо добавить в метод контроллера, который обрабатывает POST запрос формы, следующий код:
1
|
return $this->redirect(['view', 'id' => $model->id]); |
Где 'view' – это название действия, на которое нужно перенаправить пользователя после отправки формы, а 'id' => $model->id – это параметры, которые передаются на это действие.
Также можно использовать метод Url::to для указания URL-адреса, на который нужно сделать редирект:
1 2 3 |
use yii\helpers\Url; ... return $this->redirect(Url::to(['view', 'id' => $model->id])); |
Таким образом, после отправки формы пользователь будет перенаправлен на страницу, указанную в параметрах метода redirect.
@krista
Чтобы добавить этот код в метод контроллера, перейдите к методу, который обрабатывает POST запрос формы в вашем контроллере. Например, если ваш метод для обработки формы называется actionCreate, то вы можете добавить этот код в конце метода:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public function actionCreate() { $model = new YourModel(); if ($model->load(Yii::$app->request->post()) && $model->save()) { // Добавляем редирект после успешного сохранения модели return $this->redirect(['view', 'id' => $model->id]); } return $this->render('create', [ 'model' => $model, ]); } |
При отправке формы и успешном сохранении, пользователь будет перенаправлен на страницу просмотра созданной записи.
Не забудьте заменить 'YourModel'
на название вашей модели данных, а также 'view'
на название действия, на которое вы хотите перенаправить пользователя.