Laravel似乎无法产生一个部分

时间:2014-12-08 21:15:23

标签: php laravel

有一点大脑放屁。无法弄清楚为什么我的部分不被包含

所以我试图将scripts部分包含在我的页脚中,但是当我重新加载页面时我什么都没得到。它肯定是被加载的,只是产量不起作用

所以我的视图

@extends('layouts/form')

@section('scripts')
    <script>
        alert('It works!');
    </script>
@stop

这是布局/表单

@include('layouts/head')
@include('layouts/header')

// html stuff

@include('layouts/footer')

我的页脚

// footer html
@yield('scripts','')
</body>
</html>

我对章节的理解是否正确?如果scripts部分不存在,则它只是打印出来。它需要按特定顺序吗?

2 个答案:

答案 0 :(得分:1)

根据我对blade template engine

的理解
<div class="col-xs-12">
  @yield('content')
</div>

有效,扩展包含此@yield的文件(在我的情况下为master.blade.php)的任何内容都会在那里打印出来的内容:

@section('content')
  <div class="container-fluid">
    @include("order-form")
  </div>
@stop

我能想到的唯一另一件事(在@yield('scripts')完美地完成我的一个项目之后就是结构。为了给你一个想法,这是我的app / views结构:

..
-> forms
   -> generic.blade.php
   -> loss.blade.php
   -> rts.blade.php
-> layouts
   -> master.blade.php
index.blade.php
order.blade.php 

layouts.master -> @yield('content') -> index.blade.php -> @section('content') -> @include('forms.loss') -> @stop

这应该让关系变得非常清楚......也许这有帮助,我不知道。这很棘手,我觉得它应该适合你的情况。如果有帮助,请告诉我。

答案 1 :(得分:0)

实际上是因为我从一个数据库中加载了一些页面,告诉laravel使用哪个布局,所以脚本部分从来没有在那个视图中