Получить текущий URL + "EN" внутри пользовательской кнопки LARAVEL BLADE - PullRequest
0 голосов
/ 20 марта 2019

У меня есть кнопка «EN» и «FR». Для переключения языков. Я пытался выразить это так:

1

<a href='{{ route(\Illuminate\Support\Facades\Route::currentRouteName(), 'en') }}

Но я получаю ошибку: ErrorException (E_ERROR) Маршрут [] не определен.

2

I tried this `<li><a href='{{ Request::url() }}' id="first" class="Mytitle">EN</a></li>`

Это только ваш текущий URL

  1. Это тоже не работает: {{ url(app()->getLocale() . Request::url() ) }}

При нажатии ничего не происходит

Как правильно обращаться с URL?

Я хотел бы иметь текущий URL с языком локали, например,
от
www.mydomain.com / EN / Услуги
в
www.mydomain.com / FR / Услуги
Имейте в виду, что я имею вways.php 'prefix'=>'{locale}'

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Это должно вам помочь.

В вашем файле web.php я предполагаю, что вы уже задали имя для маршрута.

Route::group(['prefix' => '{locale}'], function () {
    Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});

Теперь в вашем блейд-представлении, это должно быть так ..

<a href="{{ route('your-route-name', 'en') }}">EN</a>

Вы написали это по-другому.Вы можете получить больше информации о том, как использовать route метод в представлениях лезвия. Документация по методу маршрута

Обновление 1:

как добавить другую часть URL?

Route::group(['prefix' => '{locale}/SERVICES'], function () {
    Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});

Что касается перевода страниц, я не знаю, что делает ваше приложение.Итак, я, по крайней мере, могу помочь.

Да, вы в определенной степени правы, используя url(/en).Но тогда вам придется обновить все файлы просмотра.С route() вам придется обновлять только файл web.php один раз.Вам не нужно обновлять файл представления, потому что вы используете метод route, а Laravel достаточно умен, чтобы заменить ссылку соответствующими параметрами.

Для получения дополнительной информации я призываю вас пройти через маршрутная документация .Это поможет вам лучше понять, чем route отличается от url

.
0 голосов
/ 20 марта 2019

Если язык статичен, вы можете просто сделать:

<li><a href="/en/{{ Request::path() }}" id="first" class="Mytitle">EN</a></li>
...