从 Laravel 中的模块加载页眉和页脚

Load header and footer from Module in Laravel

我在 Laravel 中创建了一个模块,我正在使用该模块的视图,我的结构是这样的:

模块

 -> MyModule
 ->->Controllers
 ->->Views
 ->->->MyModule.blade.php

但是我在资源->视图->布局->base.blade.php

上完成了页眉和页脚

那么我该如何调用它才能在所有模块中使用相同的基本布局?可以在 Laravel 5?

已经试过了

@include('layouts.base')

但我得到了

正在尝试获取 属性 的非对象(视图:... resources\views\layouts\base。blade.php

谢谢。

blade 的结构相对于 resources 文件夹中的 views 文件夹。

从而使您的 @include() 具有如下结构:

@include('DIRECTORY.BLADE')

并且您可以使用 @yield()

添加各种 blade 内容
@yield('YIELD_FIELD_NAME')

如果您尝试从该布局扩展 blades,您可以在要扩展的 blade 文件的顶部调用它。

@extends('DIRECTORY.BLADE')

这是一个示例 blade 文件,如果您的布局中包含 @yield('content') 标记,它可以扩展您的布局。

example.blade.php

@extends('layouts.base')

@section('content')

  YOUR BLADES HTML/CONTENT

@endsection

https://laravel.com/docs/5.4/blade#defining-a-layout

如何将Auth中间件添加到控制器:

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('auth');
}

这是一个示例控制器: https://github.com/jeremykenedy/laravel-auth/blob/master/app/Http/Controllers/UsersManagementController.php

这是使用该控制器的视图示例: https://github.com/jeremykenedy/laravel-auth/blob/master/resources/views/usersmanagement/show-user.blade.php

以下是视图使用的模板示例: https://github.com/jeremykenedy/laravel-auth/blob/master/resources/views/layouts/app.blade.php

以上示例的路由文件如下: https://github.com/jeremykenedy/laravel-auth/blob/master/routes/web.php

好的,我能够在模块结构上进行 Auth 工作,只需将其添加到您的 routes.php

Route::group(['middleware' => ['web']], function () {
  //Your routes
});