2012-09-08 17 views
49

Estoy intentando crear un botón de retroceso simple en una página. El usuario puede llegar a esta página desde dos páginas diferentes, por lo que me gustaría saber a qué página llegó. ¿Es eso posible?Laravel botón de retroceso

Respuesta

90

En Laravel, puede hacer algo como esto: <a href="{{Request::referrer()}}">Back</a> (suponiendo que está utilizando la cuchilla).

En laravel 4

{{ URL::previous() }} 

Laravel documentation

+0

Gracias esto funciona !! No pude encontrar esto en la documentación ... ¿hay otro lugar donde pueda sacar más provecho de laravel? – cosapostolo

+2

Puede consultar la [documentación] (http://laravel.com/docs), usar sus [foros] (http://forums.laravel.com/), explorar la fuente en la carpeta laravel o colgar en su [Canal IRC] (http://laravel.com/irc) #laravel en freenode. Recomiendo encarecidamente al canal de IRC muchas personas amables y serviciales para responder sus preguntas, de día o de noche. – Anon

+0

Te recomiendo que revises los [documentos de API] (http://laravel.com/api) también, contiene muchas cosas útiles que la documentación no cubre.Aprendo mucho Laravel y productos PHP avanzados solo leyendo el código fuente y los documentos API. – akhyar

62

Sé que esto es una cuestión de cierta edad, pero lo encontré mientras que en busca de la misma solución. La solución anterior no parece funcionar en laravel 4, sin embargo, puede utilizar esto ahora:

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

Esperanza esto ayuda a las personas que buscan esta característica en L4

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

+0

No funciona en laravel 5.1 – MaXi32

15

la siguiente es una hoja completa (el motor de plantillas laravel utiliza) solución:

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

la matriz de opciones con la clase es opcional, en este caso se especifica º estilo para un botón Bootstrap 3.

+1

Hay una cosa que debe cambiarse, en lugar de {{.. .}} necesitas usar {!! ...!} de lo contrario, la cadena se escaparía. – happyhardik

+1

Cierto, en el momento esto funcionó en Laravel 4 antes de que se escaparan por defecto. Actualizado para que funcione con las versiones actuales de Laravel. Gracias :) –

27

laravel 5.2+, de nuevo el botón

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

En 5.1 sólo pude conseguir que esto funcione.

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

Funciona a la perfección. ¡Gracias Señor! –

7

hecho usando {{ URL:previous() }} hacer el trabajo, pero si usted está utilizando una misma ruta llamada para mostrar varias vistas, que le llevará de vuelta al primer punto final de esta ruta.

En mi caso, tengo una ruta con nombre, que en función de un parámetro seleccionado por el usuario, puede representar 3 vistas diferentes. Por supuesto, tengo un caso predeterminado para la primera entrada en esta ruta, cuando el usuario aún no ha seleccionado ninguna opción.

Cuando uso URL:previous(), Laravel me lleva de vuelta a la vista predeterminada, incluso si el usuario ha seleccionado alguna otra opción. Sólo usando javascript dentro del botón que he logrado ser devuelto a la visión correcta:

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

estoy probado esto en laravel 5.3, sólo para aclaración.

0

es un muy simple justo después de este código

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