我尝试了一些尝试让它发挥作用。我在看这个 - Laravel Blade - pass variable via an @include or @yield - 关于如何在刀片之间传递变量的问题,但我似乎无法让它工作!
我有一个视图调用我的标题视图(在/resources/views/layouts/frontendbasic.blade.php中):
@include('common/head', array('url'=>'www.url.com'))
在标题刀片中(在/resources/views/common/head.blade.php中)我正在调用这个变量:
<meta property="og:url" content="{{ $url }}" />
我收到错误:
Undefined variable: url
(View: ...\resources\views\common\head.blade.php)
(View: ...\resources\views\common\head.blade.php)
(View: ...\resources\views\common\head.blade.php)
我想知道我做错了什么?
答案 0 :(得分:4)
正确的做法是通过控制器传递变量:
return view('view.path', [
'url' => 'www.url.com'
]);
然而,请尝试如下:
@include('common.head', ['url' => 'www.url.com'])
答案 1 :(得分:1)
有很多方法可以做到这一点。你也可以使用&#34; compact&#34;和#34;与&#34;将变量传递给控制器和刀片中的刀片的功能。
控制器中的
$info = 23; /* variable you want to pass into blade */
return view('view.path',compact('info'));
OR
return view('view.path')->with('info'=>$info);
在视图中
@include('view.path',compact('variable_name'));
OR
@include('view.path')->with('key' => $value);