通过扩展布局的视图包含外部资源


Including external resources through a view that extends a layout

我正试图通过在我的一个网站上使用Laravel来学习它,但我很难解决一些问题。

我有一个layout.blade.php文件,它保存了我所有的全局标记。页眉、页脚等内容。我还在<head>中包括一些外部内容,如样式表和脚本,如下所示:

{{ HTML::script('js/bootstrap.min.js'); }}

然而,我只想在某些页面上加载一些外部内容。我在标题中包含了这样的个人视图:

<div id="content">
    @yield('content')
</div>

在视图中,我扩展布局如下:

@extends('layout')
@section('content')
    <h1>some content</h1>
@stop

如何使用HTML::script类型的函数从扩展layout.blade.php的视图中将内容包括在<head>中?

谢谢!

layout.blade.php中,将HTML::script调用封装在@section()@show标记中,然后在子视图中简单地扩展它们,就像对section所做的那样,但也使用@parent来包含父级的内容。示例:

layout.blade.php

@section('javascript')
    {{ HTML::script('js/jquery.js') }}
    {{ HTML::script('js/bootstrap.min.js') }}
@show

childviewblade.php

@extends('layout')
// ...
@section('javascript')
    @parent
    {{ HTML::script('js/customScript.js') }}
@stop