Я хочу создать ссылку на мой взгляд, которая ссылается на ту же страницу, что и та, на которой она размещена. И я хочу быть в состоянии дать параметр с.
Например, я хочу изменить языки. У меня есть маршрут как
domain.com/{lang}/xyz
И на мой взгляд, я хочу сделать что-то вроде
<a href="{{ URL::action(this, ['lang' => 'en']) }}">EN</a>
Так что я могу легко перезагрузить страницу, но просто изменить параметр «lang».
Надеюсь, это понятно. Пожалуйста, попробуйте помочь мне.
(Другой побочный вопрос: нет ли ресурсов, например, списка всех помощников вида в Laravel? Откуда я знаю, какие видовые помощники доступны?)
Используйте вспомогательный метод 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
Это довольно просто и легко в использовании.
Других решений пока нет …