我正在与Laravel合作,我不习惯。目前,我需要向页面添加描述和标题标签(已经由其他人编码的现有页面中缺少这些标签)。
我看到有些静态页面没有任何控制器,但也在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' }}
但它导致错误。
答案 0 :(得分:3)
您可以使用以下某些选项:
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'));
});
然后在刀片文件中,您可以使用$ variable作为局部变量。