在我的应用中,我将视图中的文件夹分为:
"posts"
"pages"
"partials"
layout.blade.php
在我的文件夹中,我有刀片文件,例如nav.blade.php和footer.blade.php。在我的文件夹“pages”中,我有home.blade.php等文件和其他一些内部页面。 但是现在我需要将一个可行的控制器传递给我的页脚,因为需要在所有视图中共享。 我如何从我的PagesController传递变量来管理页脚文件夹“pages”中的刀片文件?
示例路线:
Route::get('/', 'PageController@getHome');
Route::get('/registar', 'AuthenticationController@getRegistration');
Route::post('/post/comment', 'CommentController@store');
Route::get('/login', 'AuthenticationController@getLogin');
答案 0 :(得分:0)
如果我理解正确,您希望每次调用特定视图时共享一些数据?如果是这样,你可以这样做:
/* App\Providers\AppServiceProvider.php
** Edit the boot function, (dont forget to include View facade) */
public function boot(){
View::composer('path_to_view', function($view)
{
$view->with('variable', $variable); // you can pass array here aswell
});
}
执行此操作的其他方法(如果要从正在访问的视图中扩展页脚布局)是在扩展布局时传递数据,如下所示:
@extends('footer', ['data' => $data])
答案 1 :(得分:0)
如果您需要在提供商的多重视图中共享相同的变量。你也可以尝试这个
public function boot()
{
//set view path in array
View::composer(['path_to_view1', 'path_to_view2'], function ($view) {
$view->with('variableName', $variableName);
});
}