laravel将变量发送到登录路由

时间:2017-06-02 17:15:49

标签: laravel

我正在使用与laravel中默认身份验证系统提供的app.blade.php不同的app.blade.php。在我创建的那个中,我需要每次都给出一个变量,以便它显示我们在代码中的位置。例如,对于我的路线,我使用:

Route::get('/', ['as' => 'home', function () {
    $position = ['main_title'=>'Home','second_title'=>'',
                 'urls'=>
                    [
                        ['name'=>'home','url'=>'#']
                    ]
                ];
    return view('home')->with('position',$position);
}]);

在我的app.blade.php中,我可以使用这个$位置来打印主标题等。

现在当我尝试访问登录时出现问题,因为$ position未设置。如何在Laravel中实现这一点,以便auth系统将使用我的新刀片系统?

感谢。

2 个答案:

答案 0 :(得分:1)

身份验证视图使用app.blade.php中的布局文件resources/views/layouts。这是由所有视图顶部的代码@extends('layouts.app')完成的,这意味着auth视图扩展了此布局。

要更改所有身份验证视图中的布局,请使用您创建的新布局文件手动替换顶部的@extends('layouts.app')部分。例如,如果您的新自定义布局文件为resources/views/base.blade.php,则将默认值扩展为@extends('base')

答案 1 :(得分:0)

如果要在不同(所有)视图中使用变量,可以使用ViewComposer