簡體   English   中英

Laravel如何為路由功能添加組前綴參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM