【发布时间】:2019-10-07 20:12:32
【问题描述】:
我正在为我的每个视图使用一个布局文件。我正在从我的控制器方法中动态设置页面标题,如下所示:
$metadata = [
'page_title' => 'My Page Title',
'page_description' => null,
];
return view('foo.index', compact('metadata'));
然后在我的布局文件中,我这样做是为了呈现标题:
@if(request()->route()->getName() == 'welcome' || request()->route()->getName() == 'home')
<title>Welcome!</title>
@else
<title>@yield('title')</title>
@endif
逻辑运行良好,标题正确呈现。但是,else 中有额外的空间,我无法删除。它是这样渲染的:
<title> Dynamic Page Title
</title>
理想情况下,它会呈现如下:
<title>Dynamic Page Title</title>
我看到了solution that others have provided,但这似乎不能解决我的问题(出于某种原因)。
因为我在我的 app.blade.php 文件中执行此操作,所以我不确定传递变量的另一种方法。
在每个视图中,我都这样设置标题:
@section('title')
{{ $metadata['page_title'] ?? 'Welcome' }}
@endsection
感谢您的任何建议!
【问题讨论】:
标签: laravel laravel-blade laravel-6