- 注意:就像我在评论中说的,我正在做一个相对较大的项目。我不能改变现有的代码。只是试着为一个页面添加一些代码块。*
我有一个模板blade。它有 metayield。但也包含了一个meta.blade.php,它包含了所有的meta标签。但我不想在我的一些页面中包含metapage。有一个可视化的模板:
我的模板
<header>
@yield('meta')
@include('metapage')
@yield('style')
@yield('js')
</header>
我的观点.blade.php
@extends('my_template')
@section('meta')
<meta description...>
@endsection
@section('style')
//content
@endsection
@section('js')
//content
@endsection
我的问题是:有没有办法做出这样的东西:
@extends('my_template')->except('metapage')
我知道不存在这样的事情,但我需要这样的事情,我希望有人能给予我一个解决办法。
3条答案
按热度按时间bnl4lu3b1#
有一个确定的解决方案,我做:
如果你正在处理现有的项目,你有很多页面,那么第一个和第三个是一个更好的解决方案,因为你可以只在前端进行更改,而不会影响类代码。
ltqd579y2#
您可以将 meta设置为组件而不是include,这样您的模板看起来就相同了,您的视图将是例如。
然后,您的组件负责检查哪些存在,哪些不存在,例如:
文件:https://laravel.com/docs/5.6/blade#components-and-slots
at0kjp5o3#
获取要忽略的标记名称并应用CSS,例如:如果我需要从扩展页面中删除页脚,请使用