2016-09-15 2 views
0

Ich habe eine Mastervorlage. Alle anderen Blade-Dateien erweitern den Master. Ich habe js-Datei, die ich in jeder Blade-Datei mit Ausnahme der Homepage aufnehmen möchte (welcome.blade.php). Ich kann die js-Datei in Master aufnehmen, aber homepage wird das auch übernehmen, was ich nicht will. Eine andere Sache, die ich tun kann, ist, die js-Datei manuell in alle anderen Blade-Dateien hinzuzufügen, die etwas müde ist, da ich es für jede Datei tun muss. Eine andere Sache, die getan werden kann, ist, die URL über Javascript zu erhalten, wenn es die URL der Homepage ist, fügt sie die js-Datei nicht hinzu, andernfalls fügt sie die js-Datei hinzu.Gibt es eine Möglichkeit, eine js-Datei in jede Blade-Vorlage aufzunehmen, außer für eine?

Gibt es eine einfache Möglichkeit, diese js-Datei in jede Blade-Datei aufzunehmen, außer für die welcome.blade.php?

Antwort

2

ich die JS-Datei in Master umfassen kann, aber Homepage erbt das auch, das ich nicht

will nicht, es sei denn, Sie sagen, es nicht zu tun. Proof of Concept:

master.blade.php

<head> 
    ... 
    @section(head.js) 
    <script type="text/javascript" src="{{ asset('js/file1.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file2.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file3.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/no-home.js') }}"></script> 
    @show 
</head> 

welcome.blade.php (Do no-home.js nicht erben)

@section(head.js) 
    <script type="text/javascript" src="{{ asset('js/file1.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file2.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file3.js') }}"></script> 
@stop 

another- template.blade.php (erben alles und fügen ein weiteres hinzu)

@section(head.js) 
    @parent 
    <script type="text/javascript" src="{{ asset('js/file4.js') }}"></script> 
@stop 
+0

Danke. Ich habe das @ parent vergessen. –

2

Wenn Sie suchen nicht die js Weg zu gehen, könnten Sie diese Vorlage in der mater tun:

<script src="@yield('script_file', 'path/to/script.js')"></script>

und in Ihrem welcome.blade.php oder jede Datei möchten Sie die Skriptdatei auszuschließen tun:

@section('script_file', '')

Dies wird die src für das Skript leeren im wesentlichen festgelegt; kein Skript

+0

Vielen Dank für Ihre Antwort. –

Verwandte Themen