Laravel: Как получить текущий URL в качестве помощника вида с параметрами

Я хочу создать ссылку на мой взгляд, которая ссылается на ту же страницу, что и та, на которой она размещена. И я хочу быть в состоянии дать параметр с.

Например, я хочу изменить языки. У меня есть маршрут как

domain.com/{lang}/xyz

И на мой взгляд, я хочу сделать что-то вроде

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

Так что я могу легко перезагрузить страницу, но просто изменить параметр «lang».

Надеюсь, это понятно. Пожалуйста, попробуйте помочь мне.

(Другой побочный вопрос: нет ли ресурсов, например, списка всех помощников вида в Laravel? Откуда я знаю, какие видовые помощники доступны?)

7

Решение

Используйте вспомогательный метод laravel для использования в представлении:

url()->current()

Это получит текущий URL, Если вам нужно получить имя текущего маршрута,

Route::current()->getName()

Теперь вы можете использовать это имя маршрута для создания собственного нового URL.

например:

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

Ваше определение маршрута может быть примерно таким:

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

Это предоставит вам текущий URL.

Но в вашем случае лучше использовать этот пакет для нескольких языков:
https://github.com/mcamara/laravel-localization

Это довольно просто и легко в использовании.

20

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]