例如,我已经定义了这样的路线:
$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
答案 0 :(得分:4)
你也许可以玩这样的东西。
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
答案 1 :(得分:0)
你可以这样做:
Route::group(['prefix'=>'de'],function(){
Route::get('/about', [
'as' => 'about',
'uses' => 'aboutController@index'
]);
});
现在route('about')
会提供如下链接:example.com/de/about
答案 2 :(得分:0)
你可以像
那样简单地实现它Route::group(['prefix' => 'de'], function () {
Route::get('about', ['as' => 'de.about', 'uses' => 'aboutController@index']);
});
你可以像使用
一样使用它$link = route('de.about');
答案 3 :(得分:0)
试试这个:
function getPerson(select) {
var form = select.form;
form.ref_person.value = select.options[select.selectedIndex].getAttribute('per');
form.ear_person.value = select.value;
}
在提供链接时,您可以使用url helper函数而不是route:
<form>
<fieldset><legend>Person and earning</legend>
<label for="personSelect">Select a person
<select name="choose" id="personSelect" onchange="getPerson(this)">
<option per="3" value="0">1</option>
<option per="9" value="100">2</option>
<option per="27" value="500">3</option>
</select>
</label>
<br>
<label for="personNumber">No. Of person:
<input type="text" name="ref_person"id="personNumber"></label>
<label for="personEarning">Earning of person:
<input type="text" name="ear_person" id="personEarning"></label>
</fieldset>
</form>
如果您想要更通用,请在控制器/视图中使用它:
$locale = Request::segment(1);
Route::group(array('prefix' => $locale), function()
{
Route::get('/about', ['as' => 'about', 'uses' => 'aboutController@index']);
}
其中$ locale可以是$link = url('de/about');