亲爱的stackoverflowers,
首先,我想通知你,我是laravel 4的新手,所以如果我通过提出这个问题而愚弄自己,那就这样吧..
我已经设置了一个项目,并希望使用模板。到目前为止,我有这些文件夹/文件:
--views
----home
------home.blade.php
------login.blade.php
----layouts
------master.blade.php
我有一个get-route,它为'home.home'提供了一个新视图,其中包含以下代码:
@extends('layouts.master')
@section('content')
{{-- zet via TAB om naar h1 met klasse 'subheader'
h1.subheader --}}
<div class="panel">
<div class="page-header">
<h1>Startpagina</h1>
</div>
@if(Auth::Guest())
@yield('login')
@else
@endif
</div>
@stop
现在我想创建另一个模板,它可以作为局部视图(这也可以是页眉,页脚,......,但现在它的登录表单)。我以为这会完成这个伎俩,但显然它并没有......
@extends('layouts.master')
@section('login')
<p>Login form comes here</p>
@stop
有什么建议吗? 提前谢谢。
HS。
答案 0 :(得分:1)
而不是登录文件中的@extends
语句,您应该将其作为文件包含在主页中(以及您希望它出现的所有视图)
尝试:
@if(Auth::Guest())
@include('login')
@else
@endif
并删除登录视图中的@extends('layouts.master')
,@section('login')
和@stop
。
您的主视图中存在的所有变量也将在您的登录视图中可用。
如果您希望登录表单充当使用自己的逻辑运行的部分(或者需要其他数据),您应该考虑使用view composers