Laravel 4嵌套模板

时间:2013-10-28 13:54:10

标签: laravel laravel-4 blade

亲爱的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。

1 个答案:

答案 0 :(得分:1)

而不是登录文件中的@extends语句,您应该将其作为文件包含在主页中(以及您希望它出现的所有视图)

尝试:

@if(Auth::Guest())
    @include('login')
@else

@endif

并删除登录视图中的@extends('layouts.master')@section('login')@stop。 您的主视图中存在的所有变量也将在您的登录视图中可用。

如果您希望登录表单充当使用自己的逻辑运行的部分(或者需要其他数据),您应该考虑使用view composers