使用@include 加载页面特定资源
Load page specific resource(s) using @include
如何使用 Laravelblade 模板引擎的 @include
加载页面特定资源?
下面是我的Master布局的内容(master.blade.php
):
<head>
@section('styles')
{{-- Some Master Styles --}}
@show
</head>
<body>
{{-- Header --}}
@section('header')
@include('header')
@show
{{-- Content --}}
@section('content')
{{-- Content for page is extending this view --}}
@show
{{-- Footer --}}
@section('footer')
@include('footer')
@show
</body>
在给定的页面中,我以这种方式使用我的主模板:
@extends('master')
@section('styles')
@parent
{{-- Page Stylesheet --}}
@endsection
上面的方法是我用来尝试将我的页面特定样式加载到 <head>
部分的方法。
它没有像预期的那样正常工作。
我也想使用相同的方法在我的页脚中加载其他页面特定资源;我怎样才能有效地做到这一点?
你不需要做
@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
其中 generate-invoice-css.blade.php
包含您要为可在 yoursite.com/transactions/generate-invoice
[=68= 访问的页面内容加载的样式表] 和 users-css.blade.php
,yoursite.com/transactions/users
.
对于给定的模式,如:transactions
下页面的相同样式表,您可以这样做:
@if(Request::is('transactions*'))
使用通配符 *
.
要将给定资源加载到页面的 <head>
部分以外的位置,只需使用相同的方法并进行适当的调整。
要使用 master.blade.php
中的 @include()
加载页面特定资源,请使用此方法 (在你的 master.blade.php
文件中):
@section('styles')
@include('styles')
@show
其中 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
.
的内容
如何使用 Laravelblade 模板引擎的 @include
加载页面特定资源?
下面是我的Master布局的内容(master.blade.php
):
<head>
@section('styles')
{{-- Some Master Styles --}}
@show
</head>
<body>
{{-- Header --}}
@section('header')
@include('header')
@show
{{-- Content --}}
@section('content')
{{-- Content for page is extending this view --}}
@show
{{-- Footer --}}
@section('footer')
@include('footer')
@show
</body>
在给定的页面中,我以这种方式使用我的主模板:
@extends('master')
@section('styles')
@parent
{{-- Page Stylesheet --}}
@endsection
上面的方法是我用来尝试将我的页面特定样式加载到 <head>
部分的方法。
它没有像预期的那样正常工作。
我也想使用相同的方法在我的页脚中加载其他页面特定资源;我怎样才能有效地做到这一点?
你不需要做
@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
其中 generate-invoice-css.blade.php
包含您要为可在 yoursite.com/transactions/generate-invoice
[=68= 访问的页面内容加载的样式表] 和 users-css.blade.php
,yoursite.com/transactions/users
.
对于给定的模式,如:transactions
下页面的相同样式表,您可以这样做:
@if(Request::is('transactions*'))
使用通配符 *
.
要将给定资源加载到页面的 <head>
部分以外的位置,只需使用相同的方法并进行适当的调整。
要使用 master.blade.php
中的 @include()
加载页面特定资源,请使用此方法 (在你的 master.blade.php
文件中):
@section('styles')
@include('styles')
@show
其中 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
.