@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' на название действия, на которое вы хотите перенаправить пользователя.