[英]Laravel how to add group prefix parameter to route function
例如,我已經定義了這樣的路線:
$locale = Request::segment(1);
Route::group(array('prefix' => $locale), function()
{
Route::get('/about', ['as' => 'about', 'uses' => 'aboutController@index']);
}
我想為幾個語言環境生成鏈接(en,de,es,...)。 當我嘗試提供這樣的前綴參數時
$link = route('about',['prefix' => 'de']);
我有這樣的鏈接example.com/en/about?prefix=de
如何提供前綴參數來獲得鏈接,例如這個example.com/de/about
你也許可以玩這樣的東西。
Route::group(['prefix' => '{locale}'], function () {
Route::get('about', ['as' => 'about', 'uses' => '....']);
});
route('about', 'en'); // http://yoursite/en/about
route('about', 'de'); // http://yoursite/de/about
你可以這樣做:
Route::group(['prefix'=>'de'],function(){
Route::get('/about', [
'as' => 'about',
'uses' => 'aboutController@index'
]);
});
現在route('about')
將提供如下鏈接: example.com/de/about
你可以簡單地實現它
Route::group(['prefix' => 'de'], function () {
Route::get('about', ['as' => 'de.about', 'uses' => 'aboutController@index']);
});
你可以像使用它一樣使用它
$link = route('de.about');
試試這個:
$locale = Request::segment(1);
Route::group(array('prefix' => $locale), function()
{
Route::get('/about', ['as' => 'about', 'uses' => 'aboutController@index']);
}
在提供鏈接時,您可以使用url helper函數而不是route:
$link = url('de/about');
如果您想要更通用,請在控制器/視圖中使用它:
$link = url($locale.'/about');
$ locale可以是en,de,etc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.