2016-02-11 16 views
7

Desidero creare un collegamento nella mia vista che si riferisca alla stessa pagina come quella su cui è posizionata. E voglio essere in grado di dare un parametro con.Laravel: Come ottenere l'URL corrente come un helper di vista con parametri

Ad esempio, desidero cambiare lingua. Ho un percorso come

domain.com/{lang}/xyz 

E a mio avviso, voglio fare qualcosa di simile

<a href="{{ URL::action(this, ['lang' => 'en']) }}">EN</a> 

Quindi posso facilmente ricaricare la pagina, ma basta cambiare il parametro "lang".

Speriamo che sia comprensibile. Per favore, cerca di aiutarmi.

(Un'altra domanda lato: non ci sono le risorse per esempio un elenco di tutti i collaboratori vista in laravel dove faccio a sapere quale viewhelpers sono disponibili??)

risposta

20

Usa metodo di supporto di laravel da utilizzare in una vista:

url()->current() 

Ottiene l'attuale URL. Se è necessario ottenere il nome del percorso corrente,

Route::current()->getName() 

Ora è possibile utilizzare questo nome di percorso per creare il proprio nuovo URL.

esempio:

<a href="{{ URL::action(Route::currentRouteName(), ['lang' => 'en']) }}">EN</a> 

tua definizione della rotta può essere qualcosa di simile:

Route::get('/{lang}/about/', ['as'=>'about_us', 'uses'=>'[email protected]']) 

Questo vi fornirà l'URL corrente.

Ma nel tuo caso, è meglio utilizzare il pacchetto per il multi lingua: https://github.com/mcamara/laravel-localization

è abbastanza semplice e facile da usare.

+0

Questo non risponde alla mia domanda. – humpdi

+0

url() -> current() come dovrei usarlo all'interno del mio EN e dargli il parametro {lang}? – humpdi

+0

Controllare la risposta aggiornata. –