gpt4 book ai didi

Laravel 本地化和来自 Jetstream/Fortify 的路由

转载 作者:行者123 更新时间:2023-12-03 18:32:05 29 4
gpt4 key购买 nike

我有这个新的 Laravel 项目要处理。我们希望提供多种语言版本。
我用 JetStream 开始了这个项目。 JetStream/Fortify 会自动处理身份验证路由等。然后我添加了 https://github.com/mcamara/laravel-localization处理本地化。它适用于我自己创建的路线:

Route::group(
[
'prefix' => LaravelLocalization::setLocale(),
'middleware' => [ 'localeSessionRedirect', 'localizationRedirect', 'localeViewPath' ]
], function()
{
Route::get('/', function () {
return view('welcome');
});

Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
});
但是如何在 Jetstream 和 Fortify 处理的路由上设置组、前缀和中间件?
[编辑]
因此,在@TEFO 提出一些建议之后,我正在尝试添加一个中间件来处理语言环境的设置。添加 :
强化.php :
    'path' => '{lang}',
'middleware' => ['web', 'setLang']
新的中间件 setLang :
class SetLang {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(\Illuminate\Http\Request $request, Closure $next) {
// $lang = 'en';
// $request->attributes->add(['lang' => 'en']);
$request->route()->setParameter('lang', 'en');
// $request->request->set('lang', 'en');

return $next($request);
}
}
将中间件添加到 $routeMiddleware .
我在尝试访问时收到此错误 http://mylaravel/en/login :
ErrorException
Missing required parameters for [Route: login] [URI: {lang}/login]. (View: /var/www/resources/views/auth/login.blade.php)

最佳答案

终于成功的解决了这个问题。我只是禁用了 Fortify 和 Jetstream 的路由,将它们复制过来,然后将它们塞进我的分组前缀路由中。仍在使用 https://github.com/mcamara/laravel-localization但它应该可以按您的意愿工作 - 制作自己的系统或其他任何东西,只要您控制好走的路线即可。
JetstreamServiceProvider :

public function register() {
Jetstream::ignoreRoutes();
}
FortifyServiceProvider :
public function register() {
Fortify::ignoreRoutes();
}
并从 Fortify 复制路线 vendor/laravel/fortify/routes/routes.php和 Jetstream vendor/laravel/jetstream/routes/livewire.php (如果你正在使用它,我想适应惯性)到你的 web.php文件,在带有您需要的前缀的路由组中。

关于Laravel 本地化和来自 Jetstream/Fortify 的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64016900/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com