Laravel刀片附加到部分不正常

时间:2015-06-11 15:10:14

标签: php laravel laravel-5 blade

我想从视图中写入我的模板中的某个区域,也可以从包含的视图中写入第一个视图,但无论我尝试什么都不起作用。我已经尝试过使用@parent和@append,但到目前为止还没有产生我想要的结果。

在我的布局中,我有以下内容:

@include('admin/rules/partials/_form')

@section('scripts)
    // javascript #1 here
@stop

在我认为小学时,我有以下内容:

@section('scripts)
    // javascript #2 here
@stop

在admin / rules / partials / _form中,我有以下内容:

kernel<<<dims>>>(params)

就像我说我在@section('scripts')之后尝试使用@parent并使用@append而不是@stop但我没有做任何正确的包含两个脚本块。到目前为止我所拥有的最好的是javascript#1被包含一次而javascript#2被包含两次。我该怎么做才能将每​​个代码块仅附加到脚本区域一次?

2 个答案:

答案 0 :(得分:4)

我最终解决了这个问题,我必须做以下事情:

@yield('scripts')

在我认为小学时,我有以下内容:

@include('admin/rules/partials/_form')

@section('scripts)
    // javascript #1 here
@stop

在admin / rules / partials / _form中,我有以下内容:

@section('scripts)
    @parent
    // javascript #2 here
@overwrite

答案 1 :(得分:0)

This answer为我工作。

编辑,但现在没有。

编辑,我更新了以下代码以便工作。我在页面和布局上放置了javascript部分。

tests.layout.blade.php

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>
            @yield('title') - test
        </title>
        @yield('head')
    </head>
    <body>

    @yield('content')

    @yield('javascript')
    </body>
</html>

tests.page.blade.php

@extends('layouts.default')
@section('title', 'Poses')

@section('content')
    <div class="container">
        <div class="row">
            @include('tests.partials.one')
            @include('tests.partials.two')
        </div>
    </div>
@stop

tests.partials.one.blade.php

@section('content')
    @parent
    <h1>One</h1>
@stop

@section('javascript')
    @parent
    <script>Scripts from one</script>
@stop

tests.partials.two.blade.php

@section('content')
    @parent
    <h1>Two</h1>
@stop

@section('javascript')
    @parent
    <script>Scripts from two</script>
@stop

供进一步参考:http://laravel.com/docs/5.0/templates