Laravel:使用一些刃布局的意见,但没有人

问题描述:

在Laravel的环境时,只包括一些JS,我有一个js.blade.php(要包含在我所有的布局视图),持有全球javascript文件和一些@yield占位符,这样Laravel:使用一些刃布局的意见,但没有人

<!-- BEGIN CORE PLUGINS --> 
<script src="//code.jquery.com/jquery-1.12.4.min.js"></script> 
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
<script src="//cdn.jsdelivr.net/ie10-viewport/1.0.0/ie10-viewport.min.js"></script> 
<!-- END CORE PLUGINS --> 
<!-- BEGIN PAGE LEVEL PLUGINS --> 
@yield('js-plugins') 
<!-- END PAGE LEVEL PLUGINS --> 
<!-- BEGIN SOME OTHER GENERAL PLUGINS --> 
<script src="//cdn.jsdelivr.net/dummy1.min.js"></script> 
<script src="//cdn.jsdelivr.net/dummy2.min.js"></script> 
<!-- END SOME OTHER GENERAL PLUGINS --> 
<!-- BEGIN PAGE LEVEL SCRIPTS --> 
@yield('js-scripts') 
<!-- END PAGE LEVEL SCRIPTS --> 
<!-- BEGIN SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS --> 
... 
<!-- END SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS --> 
<!-- BEGIN MY CUSTOM SCRIPTS --> 
<script src="{{ asset('backend/scripts.js') }}"></script> 
<!-- END MY CUSTOM SCRIPTS --> 

您是否看到<!-- BEGIN SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS -->的一部分?在这里,我应该有脚本在master.blade.php布局视图(用于用户登录时用于大多数页面),但不在,即unlogged.blade.php布局视图(用于登录,或检索丢失的密码或涉及未记录的所有其他内容用户):我的意思是说,即脚本属于边栏导航(当然是在'内部'页面,但不是在'外部'的)

那么,我怎么能告诉Laravel“当使用master.blade.php查看放一些脚本在那...部分,否则保持原样“?我们的目标是利用只js.blade.php为了让事情干

我参加了一个在乐和@push@stacks,但他们并不清楚,我,我不知道我是否可以使用它们以某种方式

谢谢

+0

为什么不尝试在

+0

在这种情况下,我将使用'ViewComposer'和'if'语句。 –

+0

@JaredChu,请你详细说明一下吗? – Ivan

使用if声明和@include,而不是@yield在这种情况下:

js.blade.php

<!-- BEGIN SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS --> 
@if(!isset($limit) || (isset($limit) && !$limit)) 
    <script src="{{asset('js/home.js')}}"></script> 
@endif 
<!-- END SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS --> 

master.blade.php

@include('js') 

unlogged.blade.php(你不想在这里呈现一些脚本)

@include('js',['limit'=>true]) 

完整的示例:https://github.com/jaredchu/laravel-dynamic-view-example/tree/master/resources/views