2016-11-22 23 views
0

我正在和Laravel合作,我不習慣它。目前,我需要在網頁上添加說明和標題標記(現有網頁已經由其他人編寫)。Laravel:從Route ::變量傳遞:: get靜態頁面查看

我看到有一些靜態頁面沒有任何控制器,但也在routes.php中定義。對於instnace,其中之一是這樣的:

Route::get('feedback', function() 
{ 
    return view('feedback'); 
}); 

它呈現使用home.layout的feedback.blade。我不明白如何將這個routes.php的變量傳遞給home.layout。

如果我想明白了,我就可以定義一些陣列狀

$meta['title']$meta['description']和渲染的佈局。 這似乎是一個基本的問題,但我真的試圖谷歌和沒有結果。

我已經試過這樣:

Route::get('feedback', function() 
{ 
    $meta = [ 
     'title' => 'About title', 
     'description' => 'About description'  
    ]; 
    return view('feedback', ['meta' => $meta]); 
}); 

,並在刀片佈局

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/> 
    {{ isset($meta) ? $meta->title : 'test' }} 

但它導致錯誤。

回答

2

你可以使用一些下列選項:

Route::get('feedback', function() 
{ 
    return view('feedback')->with('variable', $variable); 
}); 


Route::get('feedback', function() 
{ 
    return view('feedback', ['variable' => $variable]); 
}); 


Route::get('feedback', function() 
{ 
    return view('feedback')->with(compact('variable')); 
}); 

然後在刀片文件,你可以使用$變量作爲一個局部變量。

+0

其實我已經試過這個樣子,但是在視圖中使用時卻沒有顯示。我用例子更新了我的問題,我是如何嘗試的。 – renathy

+1

您的關於網頁的外觀如何? –

+0

我用例子更新了我的問題。 – renathy