2016-02-11 14 views
7

Tôi muốn tạo liên kết trong chế độ xem của tôi có liên quan đến cùng một trang như trang được đặt trên đó. Và tôi muốn có thể đưa ra một tham số với.Laravel: Cách lấy url hiện tại làm trình trợ giúp chế độ xem với thông số

Ví dụ: tôi muốn thay đổi ngôn ngữ. Tôi có một con đường như

domain.com/{lang}/xyz 

Và theo quan điểm của tôi, tôi muốn làm một cái gì đó giống như

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

Vì vậy, tôi có thể dễ dàng load lại trang mà chỉ cần thay đổi "lang" tham số.

Hy vọng điều đó có thể hiểu được. Hãy cố gắng giúp tôi.

(Một câu hỏi phụ: Có không ressources ví dụ như một danh sách tất cả những người giúp đỡ xem trong Laravel nơi nào tôi biết mà viewhelpers có sẵn?)

Trả lời

20

Sử dụng phương pháp helper laravel để sử dụng trong một cái nhìn:

url()->current() 

Điều này sẽ nhận được URL hiện tại. Nếu bạn cần nhận tên tuyến đường hiện tại,

Route::current()->getName() 

Bây giờ bạn có thể sử dụng tên tuyến đường này để tạo URL mới của riêng bạn.

ví dụ:

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

định nghĩa con đường của bạn có thể cái gì đó như:

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

này sẽ cung cấp cho bạn địa chỉ URL hiện hành.

Nhưng trong trường hợp của bạn, nó tốt hơn để sử dụng gói này cho ngôn ngữ đa: https://github.com/mcamara/laravel-localization

Nó khá đơn giản và dễ sử dụng.

+0

Thats không trả lời câu hỏi của tôi. – humpdi

+0

url() -> current() Tôi nên sử dụng nó như thế nào bên trong số EN của mình và cung cấp thông số {lang} với nó? – humpdi

+0

Kiểm tra câu trả lời được cập nhật. –

Các vấn đề liên quan