【发布时间】:2017-11-09 18:04:58
【问题描述】:
我正在尝试通过我的一个 (Blade) 模板中的 route() 助手生成一个 url。
我的 web.php 文件看起来像这样(虚拟路由,但结构相同)
// 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');
});
现在,如果我尝试在我的测试路线模板中执行此操作:
{{ route('product', ['slug' => 'product-slug']) }}
那么它就不会生成这个url:
https://my-domain.com/en-GB/product/product-slug
但它会生成这个 url(注意缺少的语言环境):
https://my-domain.com/product/product-slug
但是,...如果我将测试路由移动到本地化路由组,那么 url 生成器会添加区域设置。
这是预期的行为吗? 这是否意味着我必须将我的所有路由添加到本地化路由组中,即使某些路由没有被翻译?
谢谢!
【问题讨论】:
标签: php laravel-5.3 blade