Php 使用@include加载特定于页面的资源
如何使用Laravel刀片模板引擎的Php 使用@include加载特定于页面的资源,php,laravel,blade,laravel-blade,laravel-5.3,Php,Laravel,Blade,Laravel Blade,Laravel 5.3,如何使用Laravel刀片模板引擎的@include加载页面特定资源 下面是我的主布局的内容(Master.blade.php): 上面的方法是我用来尝试将特定于页面的样式加载到部分的方法 它不能像预期的那样正常工作 我想使用相同的方法在我的页脚中加载其他特定于页面的资源;我如何才能有效地做到这一点?您不需要这样做 @extends('master') @section('styles') @parent {{-- Page Stylesheet --}} @endsectio
@include
加载页面特定资源
下面是我的主布局的内容(Master.blade.php
):
上面的方法是我用来尝试将特定于页面的样式加载到
部分的方法
它不能像预期的那样正常工作
我想使用相同的方法在我的页脚中加载其他特定于页面的资源;我如何才能有效地做到这一点?您不需要这样做
@extends('master')
@section('styles')
@parent
{{-- Page Stylesheet --}}
@endsection
在各自的页面中加载特定于页面的样式表
您应该为您的master.blade.php
文件加载特定于页面的样式表,以保持代码干燥
为此,您需要指定此类页面的路由或预期url格式,然后指定要加载的相应样式表
您可以在master.blade.php
文件中这样做:
@section('styles')
@if(Request::is('transactions/generate-invoice'))
@include('generate-invoice-css')
@elseif(Request::is('transactions/users'))
@include('users-css')
@endif
@show
其中,
包含您希望为页面内容加载的样式表,可在yoursite.com/transactions/generate invoice
和用户css.blade.php
访问,yoursite.com/transactions/users
对于给定的模式,如:事务
下页面的相同样式表,可以执行以下操作:
@if(Request::is('transactions*'))
使用通配符*
要将给定资源加载到页面的
部分以外的位置,只需使用相同的方法并根据需要进行调整
要从您的
加载带有包含()的页面特定资源,请使用以下方法(在您的master.blade.php
文件中):
其中styles.blade.php
应包含加载适当资源的条件,以满足您的需求,如:
@if(Request::is('transactions/generate-invoice'))
@include('generate-invoice-css')
@elseif(Request::is('transactions/users'))
@include('users-css')
@endif
作为styles.blade.php的
内容,感谢@nyeddike的回复。至于包含,我在一个部分中添加了它,因为在主控中会有更多的贡献。至于您提到的样式表的加载,这是可行的,但它会以内联方式为样式表做广告。我希望有一种“更干净”的方法,在加载样式时将样式表添加到头部,就像加载样式时对布局进行扩展一样。这可能不是一个选项,但我正在尝试找出它是否有可能。然后,如果您希望它出现在
部分,您应该将其包含在style.blade.php
中。根据您的问题,您表示将其包含在页脚部分。根据您提交的上述内容更新了我的答案,将样式表包含在
部分。好吧,我想我只是没有清楚地提出我的问题。我希望每个视图都能加载自己的样式表。例如,当包含页脚时,页脚将导入其自己的样式表,但刀片模板将页脚与其他样式表导入一起放置在中。当一个页面扩展了一个布局并加载了一个样式表时,就会出现这种情况。你最近的评论可能表明,从我的理解来看,这不是正确的方法。再次感谢您的帮助!
@if(Request::is('transactions*'))
@section('styles')
@include('styles')
@show
@if(Request::is('transactions/generate-invoice'))
@include('generate-invoice-css')
@elseif(Request::is('transactions/users'))
@include('users-css')
@endif