Yii2 редирект- перенаправление  на предыдущую страницу.
  • 1144

Yii2 как сделать перенаправление на предыдущую страницу.

Автор: admin | 13 июля (Пт.) 2018г. в 13ч.39м.

Зачем это нужно.

Когда пользователь переходит по ссылке иногда нужно сделать возможность вернуться назад, на предыдущую страницу. Или  другой пример, когда скрипт обращается к какому-либо экшкну для обработки данных, затем нужно вернуться назад на начальную страницу. Для решения данной проблемы будем использовать средства yii2.

Вы можете использовать Yii::$app->request->referrer, который возвращает последнюю страницу, на которой был пользователь.

В контроллере.

Возвращаемся на предыдущую страницу:
return $this->redirect(Yii::$app->request->referrer);​

Вы также должны учитывать, что referrer может быть null:

return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);

Тоже самое можно сделать с помощью метода yii\web\Response goBack ( $defaultUrl = null ):

return $this->goBack();

В другом месте фреймворка.

Используем вместо $this конструкцию   Yii::$app->response->redirect

Метод goBack() доступен только в контроллерах и их наследниках (\yii\base\Controller).Для замены используем код:
Yii::$app->getResponse()->redirect(Yii::$app->getUser()->getReturnUrl($defaultUrl));​

Приветствую!

Меня зовут Сергей. Я - автор этого блога.

Если Вам был полезен материал на моем сайте, поддержите пожалуйста мой проект, чтобы о нем узнали другие люди - кликните plizz :) на иконку в соц. сети, чтобы поделиться материалом с другими.