我正在尝试将变量传递给我的基本布局。这是因为我需要在所有页面中使用它。 我以为在我的BaseController上写这样的东西
protected function setupLayout()
{
if ( ! is_null($this->layout))
{
$footertext = MyText::where('status', 1);
$this->layout = View::make($this->layout, ['footertext' =>$footertext ]);
}
}
}
就我而言,我认为在我的main.blade.php上写这样的东西可以起作用。
{{ $footertext }}.
相反,我有这个错误,
未定义变量:footertext
经过两个小时的环顾四周......我没有找到任何解决方案。 欢迎任何帮助。答案 0 :(得分:4)
不久前,我也试图这样做。
如果您使用的是Laravel 5,则可以编辑app/Providers
内的AppServiceProvider.php并为此布局注册提供程序,如:
public function boot()
{
view()->composer('my.layout', function($view) {
$myvar = 'test';
$view->with('data', array('myvar' => $myvar));
});
}
现在,如果您使用的是Laravel 4,我认为它更简单。在app/filters.php
:
View::composer('my.layout', function ($view) {
$view->with('variable', $variable);
});
在这两种方式中,您传递的任何变量都可用于扩展主模板的所有模板。
参考文献:
https://laracasts.com/discuss/channels/general-discussion/laravel-5-pass-variables-to-master-template https://coderwall.com/p/kqxdug/share-a-variable-across-views-in-laravel?p=1&q=author%3Aeuantor
答案 1 :(得分:1)
对于我在for j in range(0, 180, get_anglesector):
AppServiceProvider.php
使用的laravel 5.3
app/Providers
*专用课程包括
答案 2 :(得分:0)
有时我们需要将数据从控制器传递到laravel中的视图,例如使用数据库查询,选择选项等等。它具有简单易用的内置功能。我们可以使用with()在laravel中轻松地从控制器发送数据到视图。此外,还有更多方法可以从控制器发送或传递数据。我正在描述如何将数据表单控制器传递给laravel中的一些简单方法。
<强> 1。传递数组:
$data = array(
'name' => 'Rakesh',
'email' => 'sharmarakesh395@gmail.com'
);
return View::make('user')->with($data);
//Accesing $data on view :-
{{$data}}
{{$data['email']}}
<强> 2。使用查询:
function view() {
$q = Model::where('name', '=', 'Foo')->first();
$users = Model::order_by('list_order', 'ASC')->get();
return $view->with('users', $users)->with('q', $q);
}
//Accesing on view :-
{{ $q->name }}
希望能帮到你:)。
答案 3 :(得分:0)
在Laravel 5.6中,这些方法均无效。
AppServiceProvider
:
public function boot()
{
View::share('key', 'value');
}
View
是立面Illuminate\Support\Facades\View