我正在尝试使用视图编辑器根据定义的部分自动修改页面标题。
@section('title', 'Page')
并像这样使用它:
<title>{{ $title }}</title>
我以作曲家的身份编写了以下代码,但它无法正常工作。它只是在应该说Page - Website
时将标题显示为Website - Website
,或者在不包含标题的情况下,Website
.
View::composer('*', function($view){
$title = $view->title;
$view->with('title', !empty($title) ? $title . " - Website" : "Website");
});
这只需要在一个模板上工作,master
,但是当我用'master'
替换'*'
时,它根本没有修改行为。
我需要更改什么才能正确修改title
部分?
您可以使用
view()->composer('*', function ($view) {
$view->with('title', 'Your title');
});
在服务提供商中。或者您可以使用共享
view()->share('key', 'value');
然后在视图中使用
{{ $key }}
可以尝试使用这个:
view()->composer('*', function ($view) {
$data = $view->getData();
//here you can get your data which was sent to view
//exmp. $old_title = $data['title'];
//where 'title' - key of variable which sent via ->with('title','data')
$view->with('title', 'new title');
});