2016-02-11 11 views
7

Chcę utworzyć odsyłacz w moim widoku, który odnosi się do tej samej strony, na której jest umieszczony. I chcę móc podać parametr.Laravel: Jak uzyskać aktualny adres URL jako pomocnika widoku z parametrami

Na przykład chcę zmienić język. Mam trasą jak

domain.com/{lang}/xyz 

I moim zdaniem chcę zrobić coś jak

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

Więc mogę łatwo odświeżyć stronę, ale po prostu zmienić parametr „lang”.

Mam nadzieję, że jest to zrozumiałe. Proszę, pomóż mi.

(Inna strona pytanie: Czy nie ma ressources np listę wszystkich widoku pomocników w laravel gdzie mam wiedzieć, które są dostępne viewhelpers?)

Odpowiedz

20

użyć metody pomocnika laravel do używania w widoku:

url()->current() 

Zostanie pobrane bieżące URL. Jeśli chcesz uzyskać nazwę aktualnej trasy, teraz można użyć tej nazwy trasy, aby utworzyć nowy adres URL.

np

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

Twoja definicja trasa może być coś takiego:

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

ten zapewni Ci aktualny adres URL.

Ale w twoim przypadku, to lepiej korzystać z tego pakietu dla wielu języków: https://github.com/mcamara/laravel-localization

Jest to dość prosty i łatwy w użyciu.

+0

To nie odpowiada na moje pytanie. – humpdi

+0

url() -> current() w jaki sposób powinienem użyć tego wewnątrz mojego EN i podać przy tym parametr {lang}? – humpdi

+0

Sprawdź zaktualizowaną odpowiedź. –