首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >路由()生成不带地区前缀的url。

路由()生成不带地区前缀的url。
EN

Stack Overflow用户
提问于 2017-11-08 15:29:14
回答 1查看 652关注 0票数 2

我正在尝试通过我的(Blade)模板中的Blade()助手生成一个url。

我的web.php文件看起来如下(虚拟路由,但结构是相同的)

代码语言:javascript
运行
复制
// Generic routes
Route::get('/test', 'HomeController@test')->name('test');

// Localized routes
Route::group([
    'prefix' => LaravelLocalization::setLocale(),
    'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]
    ], function() {
        Route::get(LaravelLocalization::transRoute('routes.product'), 'ProductController@product')->name('product');
});

现在,如果我尝试在我的测试路线的模板中这样做:

代码语言:javascript
运行
复制
{{ route('product', ['slug' => 'product-slug']) }}

然后它就不会生成这个url:

代码语言:javascript
运行
复制
https://my-domain.com/en-GB/product/product-slug

但是它生成这个url (注意缺少的地区):

代码语言:javascript
运行
复制
https://my-domain.com/product/product-slug

不过,..。如果我将测试路由移动到本地化路由组中,则url生成器将添加区域设置。

这是预期的行为吗?这是否意味着我必须将所有路由添加到本地化路由组中,即使有些路由没有被翻译?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-09 10:04:58

我已经通过使用mcamara/laravel本地化包的getLocalizedURL()助手来“修复”这个问题,而不是使用路由()助手。

代码语言:javascript
运行
复制
{{ LaravelLocalization::getLocalizedURL(App::getLocale(), route('product', ['slug' => 'product-slug'])) }}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47183603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档