【发布时间】:2017-07-16 00:19:37
【问题描述】:
在 Laravel 环境中,我有一个 js.blade.php(将包含在我的所有布局视图中),保存全局 javascript 文件和一些 @yield 占位符,就像这样
<!-- 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,但我不清楚它们是否可以使用
谢谢
【问题讨论】:
-
你为什么不尝试在
-
在这种情况下,我将使用
ViewComposer和if语句。 -
@JaredChu,你能详细说明一下吗?
标签: laravel include laravel-5.3 blade