我在Laravel中创建了一个模块,即时通讯使用该模块的视图,我的结构如下:
模块
-> MyModule
->->Controllers
->->Views
->->->MyModule.blade.php
但是我在资源上完成了页眉和页脚 - > views-> layouts-> base.blade.php
那么我怎么称呼这个所以我可以在所有模块中使用相同的基本布局? Laravel 5有可能吗?
已经尝试过这个
@include('layouts.base')
但即将到来
尝试获取非对象的属性(查看:... resources \ views \ layouts \ base.blade.php
谢谢。
答案 0 :(得分:1)
刀片的结构相对于views
文件夹中的resources
文件夹。
这样使@include()
具有类似这样的结构:
@include('DIRECTORY.BLADE')
您可以使用@yield()
@yield('YIELD_FIELD_NAME')
如果您尝试从该布局中获取刀片服务器范围,则可以在要扩展的刀片文件的顶部调用它。
@extends('DIRECTORY.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/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
答案 1 :(得分:0)
好的,我无法让Auth处理模块结构,只需要在你的routes.php上添加它。
Route::group(['middleware' => ['web']], function () {
//Your routes
});