Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用@include加载特定于页面的资源_Php_Laravel_Blade_Laravel Blade_Laravel 5.3 - Fatal编程技术网

Php 使用@include加载特定于页面的资源

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

如何使用Laravel刀片模板引擎的
@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