Size: a a a

2020 August 05

YS

Yehor Smoliakov in Laravel Pro
На основе какой библиотеки? И какая версия Laravel?
источник

D

Dobrik in Laravel Pro
ларавель 5.8, пакет не важен, он всего лишь делает app()->setLocale() на основе какой либо логики
источник

YS

Yehor Smoliakov in Laravel Pro
Dobrik
ларавель 5.8, пакет не важен, он всего лишь делает app()->setLocale() на основе какой либо логики
https://github.com/akaunting/language я этот использую, но в 404 стандартном шаблоне они не подтягиваются. Пришлось переписать middleware и обработчик исключений, чтобы еще в cookie прописывался выбранный язык.
источник

D

Dobrik in Laravel Pro
Yehor Smoliakov
https://github.com/akaunting/language я этот использую, но в 404 стандартном шаблоне они не подтягиваются. Пришлось переписать middleware и обработчик исключений, чтобы еще в cookie прописывался выбранный язык.
на 404 какую локаль видит приложение?
источник

YS

Yehor Smoliakov in Laravel Pro
Dobrik
на 404 какую локаль видит приложение?
стандартную
источник

YS

Yehor Smoliakov in Laravel Pro
которая в config/app.php
источник

D

Dobrik in Laravel Pro
где локаль у вас хранится? в таблице users?
источник

YS

Yehor Smoliakov in Laravel Pro
Dobrik
где локаль у вас хранится? в таблице users?
и в users и в сессии (если не авторизован)
источник

D

Dobrik in Laravel Pro
создайте свой роут для 404 и повесьте туда ваш middleware
источник

YS

Yehor Smoliakov in Laravel Pro
я понимаю, что middleware этого пакета вызывается позже, чем срабатывает вывод 404 ошибки и setLocale не ставится
источник

D

Dobrik in Laravel Pro
или примените мидлвейр глобально
источник

D

Dobrik in Laravel Pro
на 404 отрабатывают только глобальные middleware если не ошибаюсь
источник

YS

Yehor Smoliakov in Laravel Pro
Dobrik
создайте свой роут для 404 и повесьте туда ваш middleware
можно пример?
источник

YS

Yehor Smoliakov in Laravel Pro
Route::fallback?
источник

D

Dobrik in Laravel Pro
Делаете обычный роут Route::get('404', 'ErrorsController@error404')->middleware('SetLocale')->name('error404'); или как там ваш мидлвейр
В контроллере делаете return response(view('errors.404'), 404);
В exceptionHandler в методе render делаете
if($exception instance of NotFoundHttpException) {
return redirect()->route('error404');
}
источник

YS

Yehor Smoliakov in Laravel Pro
Dobrik
Делаете обычный роут Route::get('404', 'ErrorsController@error404')->middleware('SetLocale')->name('error404'); или как там ваш мидлвейр
В контроллере делаете return response(view('errors.404'), 404);
В exceptionHandler в методе render делаете
if($exception instance of NotFoundHttpException) {
return redirect()->route('error404');
}
спасибо, это решение. а без редиректа можно решить подключение другого middleware к странице 404?
источник

З

Залупоглазое такси... in Laravel Pro
По какой причине может не выводится ошибка при валидации? Но при foreach $errors->all это поле показывает.
источник

З

Залупоглазое такси... in Laravel Pro
источник

D

Dobrik in Laravel Pro
Yehor Smoliakov
спасибо, это решение. а без редиректа можно решить подключение другого middleware к странице 404?
fallback я думаю решит эту проблему
источник

D

Dobrik in Laravel Pro
However, since you may define the fallback route within your routes/web.php file, all middleware in the web middleware group will apply to the route. You are free to add additional middleware to this route as needed
источник