programing

라라벨 백 버튼

bestcode 2022. 9. 23. 00:21
반응형

라라벨 백 버튼

페이지에 간단한 뒤로 버튼을 만들려고 합니다.사용자는 2페이지에서 이 페이지로 이동할 수 있기 때문에 어느 페이지에서 도착했는지 알고 싶습니다.가능할까요?

라라벨에서는 다음과 같은 일을 할 수 있습니다.<a href="{{ Request::referrer() }}">Back</a>(블레이드를 사용하는 경우).

라라벨 4

{{ URL::previous() }}

라라벨 5 이상

{{ url()->previous() }}

라라벨 문서

나는 이것이 오래된 질문이라는 것을 알지만 나는 같은 해결책을 찾다가 그것을 발견했다.위의 솔루션은 Larabel 4에서는 동작하지 않는 것 같습니다만, 지금 바로 사용할 수 있습니다.

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

이것이 L4에서 이 기능을 찾는 사람들에게 도움이 되기를 바랍니다.

(출처 : https://github.com/laravel/framework/pull/501/commits)

Larabel 5.2+, 후면 버튼

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

실제로 사용{{ URL:previous() }}동작합니다만, 같은 이름의 루트를 사용해 복수의 뷰를 표시하고 있는 경우는, 이 루트의 최초의 엔드 포인트로 돌아갑니다.

이 경우 사용자가 선택한 파라미터에 따라 3가지 뷰를 렌더링할 수 있는 명명된 루트가 있습니다.물론 사용자가 아직 옵션을 선택하지 않은 경우 이 경로의 첫 번째 입력에 대한 기본 사례가 있습니다.

사용할 때URL:previous()사용자가 다른 옵션을 선택해도 Larabel은 기본 보기로 돌아갑니다.버튼 안에서 javascript만 사용하면 올바른 보기로 돌아갑니다.

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

Larabel 5.3에서 테스트한 결과입니다. 명확히 하기 위해서입니다.

다음은 완전한 블레이드(Larabel이 사용하는 템플릿 엔진) 솔루션입니다.

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

클래스를 포함하는 옵션 배열은 옵션이며, 이 경우 부트스트랩 3 버튼의 스타일을 지정합니다.

5.1에서는 이 동작밖에 할 수 없었습니다.

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

이 문제에 javascript를 사용할 수 있습니다.브라우저 기록에서 링크를 검색합니다.

<script>
function goBack() {
  window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>

다음 중 하나가 문제를 해결합니다.

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

다른.

URL::current()

{{ URL:: previous() }}을(를) 사용할 수 있지만 UX는 완벽하지 않습니다.

예를 들어 F5 버튼을 누르고 {{URL::previous()}}의 Back 버튼을 다시 클릭하면 그대로 유지됩니다.

좋은 방법은 {{route('page.edit', $item->id}}}을(를) 사용하는 것입니다.이것은 항상 리다이렉트 하는 진정한 페이지입니다.

<a href="{{ url()->previous() }}" class="btn btn-warning"><i class="fa fa-angle-left"></i> Continue Shopping</a>

이것은 Laravel 5.8에서 작동했습니다.

언급URL : https://stackoverflow.com/questions/12333739/laravel-back-button

반응형