注意:就像我在评论中说的那样,我正在开展相对较大的项目。我无法更改现有代码。只是尝试为一个页面添加一些代码块。
我有一个模板刀片。它有元产量。但也包括一个meta.blade.php,它包含所有元标记。但我不想在我的某些页面中加入元页面。有可视化模板:
my_template
<header>
@yield('meta')
@include('metapage')
@yield('style')
@yield('js')
</header>
my view.blade.php
@extends('my_template')
@section('meta')
<meta description...>
@endsection
@section('style')
//content
@endsection
@section('js')
//content
@endsection
我的问题是:有没有办法做出这样的事情:
@extends('my_template')->except('metapage')
我知道没有类似的东西存在。但我需要那个。我希望有人能给我一个解决方案。
答案 0 :(得分:1)
我有一定的解决方案:
如果您正在处理现有项目并且您有很多页面,那么First&amp;第三个是更好的解决方案,因为你只能在前端进行更改,而不会影响类代码。
答案 1 :(得分:0)
您可以将元组件设为组件而不是包含组件,然后您的模板看起来会相同,例如您的视图。
@extends('my_template')
@section('meta')
@component('meta')
@slot('description', 'my amazing description')
@endcomponent
@endsection
// other code here as usual
然后,您的组件负责检查存在的内容和不存在的内容,例如像这样:
@isset($description)
<meta name="description" content="{{ $description }}">
@endisset
@isset($title)
<title>{{ $title }}</title>
@endisset
// etc, the title is just an example