Кнопка возврата Laravel

63

Я пытаюсь создать простую кнопку "Назад" на странице. Пользователь может перейти на эту страницу с двух разных страниц, поэтому мне хотелось бы узнать, с какой страницы он прибыл. Возможно ли это?

Теги:

8 ответов

112
Лучший ответ

В Laravel вы можете сделать что-то похожее на это: <a href="{{Request::referrer()}}">Back</a> (при условии, что вы используете blade-сервер).

В Ларавеле 4

{{ URL::previous() }}

Документация Laravel

  • 0
    Спасибо это работает !! Не могу найти это в документации ... где-нибудь еще я могу получить больше от Laravel?
  • 2
    Вы можете просмотреть документацию , использовать их форумы , просмотреть источник в папке laravel или повесить их IRC-канал #laravel на freenode. Настоятельно рекомендуем IRC каналу много дружелюбных и полезных людей, чтобы ответить на ваши вопросы, днем или ночью.
Показать ещё 9 комментариев
65

Я знаю, что это старый вопрос, но я нашел его, ища такое же решение. Вышеприведенное решение, похоже, не работает в Laravel 4, однако вы можете использовать его сейчас:

<a href="{{ URL::previous() }}">Go Back</a>

Надеюсь, это поможет людям, которые ищут эту функцию в L4

(Источник: https://github.com/laravel/framework/pull/501/commits)

  • 0
    Не работает в laravel 5.1
42

Laravel 5.2+, кнопка назад

<a href="{{ url()->previous() }}" class="btn btn-default">Back</a>
17

Следующее - это полное Blade (используется алгоритм моделирования Laravel):

{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}

Массив параметров с классом не является обязательным, в этом случае он задает стиль для кнопки Bootstrap 3.

  • 1
    Есть одна вещь, которую нужно изменить, вместо {{...}} вам нужно использовать {!! ... !!} в противном случае строка будет экранирована.
  • 1
    Правда, в то время это работало в Laravel 4 до того, как они были сброшены по умолчанию. Обновлено для работы с текущими версиями Laravel. Спасибо :)
12

В 5.1 я мог только заставить это работать.

<a href="{{ URL::previous() }}" class="btn btn-default">Back</a>
  • 0
    Работает отлично. Спасибо, сэр!
11

Действительно, использование {{ URL:previous() }} действительно работает, но если вы используете один и тот же маршрут для отображения нескольких видов, он вернет вас к первой конечной точке этого маршрута.

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

Когда я использую URL:previous(), Laravel возвращает меня к представлению по умолчанию, даже если пользователь выбрал другой вариант. Только используя javascript внутри кнопки, которую я выполнил, чтобы вернуться к правильному представлению:

<a href="javascript:history.back()" class="btn btn-default">Voltar</a>

Я тестировал это на Laravel 5.3, просто для уточнения.

1

Один из следующих способов решит вашу проблему

URL::previous() 
URL::back()

Другой

URL::current()
0

Любая идея для кнопки "Назад" с предыдущими данными формы страницы в многошаговой форме?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню