我是Laravel的新手。我使用laravel 5.6。我只想在一页(视图)中使用Summernote所见即所得编辑器。 Summernote需要一个CSS和一个js文件。我只想在此视图中加载这些文件。我怎么做?
这就是我试图做到的方式。
master.blade.php文件。
<html>
@include('header')
<body>
@yield('content')
@include('footer')
</body>
</html>
editor.blade.php文件
@extends('master')
@section('content')
--- Summernote editor goes here---
@endsection
@section('imports')
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
<!-- include summernote css/js-->
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.js"></script>
<script>
$(document).ready(function() {
$('.summernote').summernote();
});
</script>
@endsection
header.blade.php
<head>
--- other css and file links ---
@yield('imports')
</head>
如您所见,editor.blade.php文件扩展了master.blade文件。在主文件中,我包含了header.blade文件,该文件包含所有css链接。因此,我在header.blade文件中生成了Summernote js / css。但是,当它加载到浏览器时,header.blade文件中产生的内容位于
<body>
标记的开头(应该在<head>
标记的旁边)。我可以直接将这些文件添加到headr.blade.php文件中。但是我想知道是否有一种方法可以做到这一点。
最佳答案
我通常以这种方式执行此操作,因此您不会在master.blade中使用include()刀片,因为它无论如何都将调用所有页面,只是屈服,然后在另一页面中仅注入该屈服的部分。
master.blade.js
<html>
@yield('header')
<body>
@yield('content')
@yield('footer')
</body>
</html>
header.blade.php
@extends('master')
@section('header')
--- CSS here ---
@endsection
@section('content')
--- content here ---
@endsection
@section('footer')
--- scripts here ---
@endsection