我有以下结构:
- master.blade {
@yield('menu') // here I load the one and only menu I have
@yield('content') // here I load different pages
}
- menu.blade {
@extends('master')
@section('menu')
main menu
@stop
}
- other pages using the same format {
@extends('master')
@section('content')
here is the content
@stop
}
由于某种原因,未加载菜单。有什么想法吗?我尝试加载菜单然后页面。这很简单,但由于某种原因,我不明白为什么它不起作用。
答案 0 :(得分:2)
在@include('menu')
布局中使用@yield('menu')
代替master.blade
。
从@extends
@section('menu')
,@stop
和menu.blade
醇>
完成这些更改后,您的代码应如下所示:
<强> master.blade 强>
@include('menu')
@yield('content')
<强> menu.blade 强>
main menu
其他网页
@extends('master')
@section('content')
here is the content
@stop
详细了解模板:http://laravel.com/docs/5.0/templates
不过,您可以使用@endsection
代替@stop
,它对我来说更具可读性。
答案 1 :(得分:1)
流程应该是这样的:
- master.blade {
@include('menu') // here I load the one and only menu I have
@yield('content') // here I load different pages
}
- menu.blade {
Markup for the main menu
}
- other pages using the same format {
@extends('master')
@section('content')
here is the content
@stop
}
创建简单的菜单文件并将其包含在主模板中,yield用于动态内容。